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 errors,
mod_a
additionally debug messages, and mod_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
).
Implementation of Log::enabled() with easier testable signature
Returns a LogSpecification
where all traces are switched off.
Returns a log specification from a String.
Returns a log specification based on the value of the environment variable RUST_LOG,
or an empty one.
Returns a log specification based on the value of the environment variable RUST_LOG,
or on the given String.
If the specfile does not exist, try to create it, with the current spec as content,
under the specified name.
Reads a log specification from a file.
Serializes itself in toml format
Creates a LogSpecBuilder, setting the default log level.
Provides a reference to the module filters.
Provides a reference to the text filter.
Returns the "default value" for a type. Read more
Performs copy-assignment from source
. Read more
Formats the value using the given formatter. Read more
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static