Struct flexi_logger::LogSpecification [−][src]
pub struct LogSpecification { /* fields omitted */ }
Expand description
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 errors,mod_a
additionally 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 explicitly).
-
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
).
See
https://github.com/rust-lang/rfcs/pull/940/files
for an explanation of the different naming conventions in Cargo (packages allow hyphen) and
rustc (“extern crate” does not allow hyphens).
Implementations
Returns true if messages on the specified level from the writing module should be written
Returns a log specification from a String.
Errors
FlexiLoggerError::Parse
if the input is malformed.
Returns a log specification based on the value of the environment variable RUST_LOG
,
or an empty one.
Errors
FlexiLoggerError::Parse
if the input is malformed.
Returns a log specification based on the value of the environment variable RUST_LOG
,
if it exists and can be parsed, or on the given String.
Errors
FlexiLoggerError::Parse
if the given spec is malformed.
Creates a LogSpecBuilder
, setting the default log level.
Provides a reference to the module filters.
Provides a reference to the text filter.
This method is only avaible with feature textfilter
, which is a default feature.
Trait Implementations
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl RefUnwindSafe for LogSpecification
impl Send for LogSpecification
impl Sync for LogSpecification
impl Unpin for LogSpecification
impl UnwindSafe for LogSpecification
Blanket Implementations
Mutably borrows from an owned value. Read more