Struct otter_api_tests::shapelib::LogSpecification [−]
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.
Providing the loglevel specification via String
(LogSpecification::parse and LogSpecification::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_aadditionally debug messages, andmod_x::mod_yis 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.foofoo::barfoobaz(!)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
impl LogSpecification
impl LogSpecificationpub fn off() -> LogSpecification
pub fn off() -> LogSpecificationReturns a LogSpecification where all traces are switched off.
pub fn parse<S>(spec: S) -> Result<LogSpecification, FlexiLoggerError> where
S: AsRef<str>,
pub fn parse<S>(spec: S) -> Result<LogSpecification, FlexiLoggerError> where
S: AsRef<str>, Returns a log specification from a String.
Errors
FlexiLoggerError::Parse if the input is malformed.
pub fn env() -> Result<LogSpecification, FlexiLoggerError>
pub fn env() -> Result<LogSpecification, FlexiLoggerError>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.
pub fn env_or_parse<S>(
given_spec: S
) -> Result<LogSpecification, FlexiLoggerError> where
S: AsRef<str>,
pub fn env_or_parse<S>(
given_spec: S
) -> Result<LogSpecification, FlexiLoggerError> where
S: AsRef<str>, 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.
pub fn builder() -> LogSpecBuilder
pub fn builder() -> LogSpecBuilderCreates a LogSpecBuilder, which allows building a log spec programmatically.
pub fn from_toml<S>(s: S) -> Result<LogSpecification, FlexiLoggerError> where
S: AsRef<str>,
pub fn from_toml<S>(s: S) -> Result<LogSpecification, FlexiLoggerError> where
S: AsRef<str>, Reads a log specification from an appropriate toml document.
This method is only avaible with feature specfile.
Errors
FlexiLoggerError::Parse if the input is malformed.
pub fn to_toml(&self, w: &mut dyn Write) -> Result<(), FlexiLoggerError>
pub fn to_toml(&self, w: &mut dyn Write) -> Result<(), FlexiLoggerError>Serializes itself in toml format.
This method is only avaible with feature specfile.
Errors
FlexiLoggerError::SpecfileIo if writing fails.
Returns true if messages on the specified level from the writing module should be written.
pub fn module_filters(&self) -> &Vec<ModuleFilter, Global>ⓘ
pub fn module_filters(&self) -> &Vec<ModuleFilter, Global>ⓘProvides a reference to the module filters.
pub fn text_filter(&self) -> Option<&Regex>
pub fn text_filter(&self) -> Option<&Regex>Provides a reference to the text filter.
This method is only avaible if the default feature textfilter is not switched off.
Trait Implementations
impl Clone for LogSpecification
impl Clone for LogSpecificationpub fn clone(&self) -> LogSpecification
pub fn clone(&self) -> LogSpecificationReturns a copy of the value. Read more
Performs copy-assignment from source. Read more
impl Debug for LogSpecification
impl Debug for LogSpecificationimpl Default for LogSpecification
impl Default for LogSpecificationpub fn default() -> LogSpecification
pub fn default() -> LogSpecificationReturns the “default value” for a type. Read more
impl<'_> TryFrom<&'_ String> for LogSpecification
impl<'_> TryFrom<&'_ String> for LogSpecificationtype Error = FlexiLoggerError
type Error = FlexiLoggerErrorThe type returned in the event of a conversion error.
pub fn try_from(
value: &String
) -> Result<LogSpecification, <LogSpecification as TryFrom<&'_ String>>::Error>
pub fn try_from(
value: &String
) -> Result<LogSpecification, <LogSpecification as TryFrom<&'_ String>>::Error>Performs the conversion.
impl<'_> TryFrom<&'_ str> for LogSpecification
impl<'_> TryFrom<&'_ str> for LogSpecificationtype Error = FlexiLoggerError
type Error = FlexiLoggerErrorThe type returned in the event of a conversion error.
pub fn try_from(
value: &str
) -> Result<LogSpecification, <LogSpecification as TryFrom<&'_ str>>::Error>
pub fn try_from(
value: &str
) -> Result<LogSpecification, <LogSpecification as TryFrom<&'_ str>>::Error>Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for LogSpecificationimpl Send for LogSpecificationimpl Sync for LogSpecificationimpl Unpin for LogSpecificationimpl UnwindSafe for LogSpecificationBlanket Implementations
Mutably borrows from an owned value. Read more
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>
impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<I, A> Iterator for Box<I, A> where
A: Allocator,
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
A: Allocator + 'static,
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>
impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<I, A> Iterator for Box<I, A> where
A: Allocator,
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
A: Allocator + 'static,
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
impl<A> DynCastExt for A
impl<A> DynCastExt for Apub fn dyn_cast<T>(
self
) -> Result<<A as DynCastExtHelper<T>>::Target, <A as DynCastExtHelper<T>>::Source> where
T: ?Sized,
A: DynCastExtHelper<T>,
pub fn dyn_cast<T>(
self
) -> Result<<A as DynCastExtHelper<T>>::Target, <A as DynCastExtHelper<T>>::Source> where
T: ?Sized,
A: DynCastExtHelper<T>, Use this to cast from one trait object type to another. Read more
pub fn dyn_upcast<T>(self) -> <A as DynCastExtAdvHelper<T, T>>::Target where
T: ?Sized,
A: DynCastExtAdvHelper<T, T, Source = <A as DynCastExtAdvHelper<T, T>>::Target>,
pub fn dyn_upcast<T>(self) -> <A as DynCastExtAdvHelper<T, T>>::Target where
T: ?Sized,
A: DynCastExtAdvHelper<T, T, Source = <A as DynCastExtAdvHelper<T, T>>::Target>, Use this to upcast a trait to one of its supertraits. Read more
pub fn dyn_cast_adv<F, T>(
self
) -> Result<<A as DynCastExtAdvHelper<F, T>>::Target, <A as DynCastExtAdvHelper<F, T>>::Source> where
T: ?Sized,
A: DynCastExtAdvHelper<F, T>,
F: ?Sized,
pub fn dyn_cast_adv<F, T>(
self
) -> Result<<A as DynCastExtAdvHelper<F, T>>::Target, <A as DynCastExtAdvHelper<F, T>>::Source> where
T: ?Sized,
A: DynCastExtAdvHelper<F, T>,
F: ?Sized, pub fn dyn_cast_with_config<C>(
self
) -> Result<<A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Target, <A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Source> where
C: DynCastConfig,
A: DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>,
pub fn dyn_cast_with_config<C>(
self
) -> Result<<A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Target, <A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Source> where
C: DynCastConfig,
A: DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>, Use this to cast from one trait object type to another. With this method the type parameter is a config type that uniquely specifies which cast should be preformed. Read more
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;pub fn vzip(self) -> V