Struct simplelog::TermLogger
source · pub struct TermLogger { /* private fields */ }
Expand description
The TermLogger struct. Provides a stderr/out based Logger implementation
Supports colored output
Implementations§
source§impl TermLogger
impl TermLogger
sourcepub fn init(
log_level: LevelFilter,
config: Config,
mode: TerminalMode,
color_choice: ColorChoice
) -> Result<(), SetLoggerError>
pub fn init( log_level: LevelFilter, config: Config, mode: TerminalMode, color_choice: ColorChoice ) -> Result<(), SetLoggerError>
init function. Globally initializes the TermLogger as the one and only used log facility.
Takes the desired Level
and Config
as arguments. They cannot be changed later on.
Fails if another Logger was already initialized
§Examples
TermLogger::init(
LevelFilter::Info,
Config::default(),
TerminalMode::Mixed,
ColorChoice::Auto
);
Examples found in repository?
examples/default_colors.rs (lines 8-13)
7 8 9 10 11 12 13 14 15 16 17 18 19 20
fn main() {
TermLogger::init(
LevelFilter::Trace,
Config::default(),
TerminalMode::Stdout,
ColorChoice::Auto,
)
.unwrap();
error!("Red error");
warn!("Yellow warning");
info!("Blue info");
debug!("Cyan debug");
trace!("White trace");
}
More examples
examples/custom_colors.rs (lines 13-18)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
fn main() {
let config = ConfigBuilder::new()
.set_level_color(Level::Error, Some(Color::Magenta))
.set_level_color(Level::Trace, Some(Color::Green))
.build();
TermLogger::init(
LevelFilter::Trace,
config,
TerminalMode::Stdout,
ColorChoice::Auto,
)
.unwrap();
error!("Magenta error");
warn!("Yellow warning");
info!("Blue info");
debug!("Cyan debug");
trace!("Green trace");
}
sourcepub fn new(
log_level: LevelFilter,
config: Config,
mode: TerminalMode,
color_choice: ColorChoice
) -> Box<TermLogger>
pub fn new( log_level: LevelFilter, config: Config, mode: TerminalMode, color_choice: ColorChoice ) -> Box<TermLogger>
allows to create a new logger, that can be independently used, no matter whats globally set.
no macros are provided for this case and you probably
dont want to use this function, but init()
, if you dont want to build a CombinedLogger
.
Takes the desired Level
and Config
as arguments. They cannot be changed later on.
Returns a Box
ed TermLogger
§Examples
let term_logger = TermLogger::new(
LevelFilter::Info,
Config::default(),
TerminalMode::Mixed,
ColorChoice::Auto
);
Examples found in repository?
examples/usage.rs (lines 10-15)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
fn main() {
CombinedLogger::init(vec![
#[cfg(feature = "termcolor")]
TermLogger::new(
LevelFilter::Warn,
Config::default(),
TerminalMode::Mixed,
ColorChoice::Auto,
),
#[cfg(not(feature = "termcolor"))]
SimpleLogger::new(LevelFilter::Warn, Config::default()),
WriteLogger::new(
LevelFilter::Info,
Config::default(),
File::create("my_rust_binary.log").unwrap(),
),
])
.unwrap();
error!("Bright red error");
info!("This only appears in the log file");
debug!("This level is currently not enabled for any logger");
}
Trait Implementations§
source§impl Log for TermLogger
impl Log for TermLogger
Auto Trait Implementations§
impl RefUnwindSafe for TermLogger
impl Send for TermLogger
impl Sync for TermLogger
impl Unpin for TermLogger
impl UnwindSafe for TermLogger
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more