simple_logger

Struct SimpleLogger

source
pub struct SimpleLogger { /* private fields */ }
Expand description

Implements Log and a set of simple builder methods for configuration.

Use the various “builder” methods on this struct to configure the logger, then call init to configure the log crate.

Implementations§

source§

impl SimpleLogger

source

pub fn new() -> SimpleLogger

Initializes the global logger with a SimpleLogger instance with default log level set to Level::Trace.

use simple_logger::SimpleLogger;
SimpleLogger::new().env().init().unwrap();
log::warn!("This is an example message.");
source

pub fn from_env() -> SimpleLogger

👎Deprecated since 1.12.0: Use env instead. Will be removed in version 2.0.0.

Simulates env_logger behavior, which enables the user to choose log level by setting a RUST_LOG environment variable. The RUST_LOG is not set or its value is not recognized as one of the log levels, this function will use the Error level by default.

You may use the various builder-style methods on this type to configure the logger, and you must call init in order to start logging messages.

use simple_logger::SimpleLogger;
SimpleLogger::from_env().init().unwrap();
log::warn!("This is an example message.");
source

pub fn env(self) -> SimpleLogger

Simulates env_logger behavior, which enables the user to choose log level by setting a RUST_LOG environment variable. This will use the default level set by with_level if RUST_LOG is not set or can’t be parsed as a standard log level.

This must be called after with_level. If called before with_level, it will have no effect.

source

pub fn with_level(self, level: LevelFilter) -> SimpleLogger

Set the ‘default’ log level.

You can override the default level for specific modules and their sub-modules using with_module_level

This must be called before env. If called after env, it will override the value loaded from the environment.

source

pub fn with_module_level(self, target: &str, level: LevelFilter) -> SimpleLogger

Override the log level for some specific modules.

This sets the log level of a specific module and all its sub-modules. When both the level for a parent module as well as a child module are set, the more specific value is taken. If the log level for the same module is specified twice, the resulting log level is implementation defined.

§Examples

Silence an overly verbose crate:

use simple_logger::SimpleLogger;
use log::LevelFilter;

SimpleLogger::new().with_module_level("chatty_dependency", LevelFilter::Warn).init().unwrap();

Disable logging for all dependencies:

use simple_logger::SimpleLogger;
use log::LevelFilter;

SimpleLogger::new()
    .with_level(LevelFilter::Off)
    .with_module_level("my_crate", LevelFilter::Info)
    .init()
    .unwrap();
source

pub fn with_target_levels( self, target_levels: HashMap<String, LevelFilter>, ) -> SimpleLogger

👎Deprecated since 1.11.0: Use with_module_level instead. Will be removed in version 2.0.0.

Override the log level for specific targets.

source

pub fn with_colors(self, colors: bool) -> SimpleLogger

Control whether messages are colored or not.

This method is only available if the colored feature is enabled.

source

pub fn init(self) -> Result<(), SetLoggerError>

‘Init’ the actual logger, instantiate it and configure it, this method MUST be called in order for the logger to be effective.

Trait Implementations§

source§

impl Default for SimpleLogger

source§

fn default() -> Self

See this

source§

impl Log for SimpleLogger

source§

fn enabled(&self, metadata: &Metadata<'_>) -> bool

Determines if a log message with the specified metadata would be logged. Read more
source§

fn log(&self, record: &Record<'_>)

Logs the Record. Read more
source§

fn flush(&self)

Flushes any buffered records.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.