Struct flexi_logger::LogSpecification [−][src]
pub struct LogSpecification { /* fields omitted */ }
Immutable struct that defines which loglines are to be written, based on the module, the log level, and the text.
The loglevel specification via string (relevant for methods
parse() and
env())
works essentially like with env_logger
,
but we are a bit more tolerant with spaces. Its functionality can be
described with some Backus-Naur-form:
<log_level_spec> ::= single_log_level_spec[{,single_log_level_spec}][/<text_filter>]
<single_log_level_spec> ::= <path_to_module>|<log_level>|<path_to_module>=<log_level>
<text_filter> ::= <regex>
-
Examples:
"info"
: all logs with info, warn, or error level are written"crate1"
: all logs of this crate are written, but nothing else"warn, crate2::mod_a=debug, mod_x::mod_y=trace"
: all crates log warnings and erors,mod_a
additional debug messages, andmod_x::mod_y
is fully traced
-
If you just specify the module, without
log_level
, all levels will be traced for this module. -
If you just specify a log level, this will be applied as default to all modules without explicit log level assigment. (You see that for modules named error, warn, info, debug or trace, it is necessary to specify their loglevel explicit).
-
The module names are compared as Strings, with the side effect that a specified module filter affects all modules whose name starts with this String.
Example:"foo"
affects e.g.foo
foo::bar
foobaz
(!)foobaz::bar
(!)
The optional text filter is applied for all modules.
Note that external module names are to be specified like in "extern crate ..."
, i.e.,
for crates with a dash in their name this means: the dash is to be replaced with
the underscore (e.g. karl_heinz
, not karl-heinz
).
Methods
impl LogSpecification
[src]
impl LogSpecification
pub fn enabled(&self, level: Level, target_module: &str) -> bool
[src]
pub fn enabled(&self, level: Level, target_module: &str) -> bool
Implementation of Log::enabled() with easier testable signature
pub fn parse(spec: &str) -> LogSpecification
[src]
pub fn parse(spec: &str) -> LogSpecification
Returns a log specification from a String.
pub fn env() -> LogSpecification
[src]
pub fn env() -> LogSpecification
Returns a log specification based on the value of the environment variable RUST_LOG, or an empty one.
pub fn env_or_parse<S: AsRef<str>>(given_spec: S) -> LogSpecification
[src]
pub fn env_or_parse<S: AsRef<str>>(given_spec: S) -> LogSpecification
Returns a log specification based on the value of the environment variable RUST_LOG, or on the given String.
pub fn ensure_specfile_is_valid(
&self,
specfile: &PathBuf
) -> Result<(), FlexiLoggerError>
[src]
pub fn ensure_specfile_is_valid(
&self,
specfile: &PathBuf
) -> Result<(), FlexiLoggerError>
If the specfile does not exist, try to create it, with the current spec as content, under the specified name.
pub fn file<P: AsRef<Path>>(
specfile: P
) -> Result<LogSpecification, FlexiLoggerError>
[src]
pub fn file<P: AsRef<Path>>(
specfile: P
) -> Result<LogSpecification, FlexiLoggerError>
Reads a log specification from a file.
pub fn to_toml(&self, w: &mut Write) -> Result<(), FlexiLoggerError>
[src]
pub fn to_toml(&self, w: &mut Write) -> Result<(), FlexiLoggerError>
Serializes itself in toml format
pub fn default(level_filter: LevelFilter) -> LogSpecBuilder
[src]
pub fn default(level_filter: LevelFilter) -> LogSpecBuilder
Creates a LogSpecBuilder, setting the default log level.
pub fn module_filters(&self) -> &Vec<ModuleFilter>
[src]
pub fn module_filters(&self) -> &Vec<ModuleFilter>
Provides a reference to the module filters.
pub fn text_filter(&self) -> &Option<Regex>
[src]
pub fn text_filter(&self) -> &Option<Regex>
Provides a reference to the text filter.
Trait Implementations
impl Clone for LogSpecification
[src]
impl Clone for LogSpecification
fn clone(&self) -> LogSpecification
[src]
fn clone(&self) -> LogSpecification
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for LogSpecification
[src]
impl Debug for LogSpecification
Auto Trait Implementations
impl Send for LogSpecification
impl Send for LogSpecification
impl Sync for LogSpecification
impl Sync for LogSpecification