[−][src]Struct simplelog::TermLogger
The TermLogger struct. Provides a stderr/out based Logger implementation
Supports colored output
Methods
impl TermLogger
[src]
pub fn init(
log_level: LevelFilter,
config: Config,
mode: TerminalMode
) -> Result<(), TermLogError>
[src]
log_level: LevelFilter,
config: Config,
mode: TerminalMode
) -> Result<(), TermLogError>
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 or if a terminal couldn't be opened.
Workaround the latter by either
- panic'ing (not recommended). e.g.
TermLogger::init(LevelFilter::Warn, Config::default(), TerminalMode::Mixed).unwrap()
- silently ignoring (little better). e.g.
let _ = TermLogger::init(LevelFilter::Warn, Config::default(), TerminalMode::Mixed);
- falling back:
if let Err(_) = TermLogger::init(LevelFilter::Warn, Config::default(), TerminalMode::Mixed) { SimpleLogger::init(LevelFilter::Warn, Config::default()).expect("No logger should be already set") }
Examples
TermLogger::init(LevelFilter::Info, Config::default(), TerminalMode::Mixed).expect("No interactive terminal");
pub fn new(
log_level: LevelFilter,
config: Config,
mode: TerminalMode
) -> Option<Box<TermLogger>>
[src]
log_level: LevelFilter,
config: Config,
mode: TerminalMode
) -> Option<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, or None if a terminal couldn't be opened.
Workaround this by either
- panic'ing (not recommended). e.g.
TermLogger::new(LevelFilter::Warn, Config::default(), TerminalMode::Mixed).unwrap()
- silently ignoring (little better). e.g.
if let Some(logger) = TermLogger::new(LevelFilter::Warn, Config::default(), TerminalMode::Mixed) { /*...*/ }
- falling back:
let mut multiple = vec![]; match TermLogger::new(LevelFilter::Warn, Config::default(), TerminalMode::Mixed) { Some(logger) => multiple.push(logger as Box<dyn SharedLogger>), None => multiple.push(SimpleLogger::new(LevelFilter::Warn, Config::default())), } // Add more ...
Examples
let term_logger = TermLogger::new(LevelFilter::Info, Config::default(), TerminalMode::Mixed).expect("No interactive terminal");
Trait Implementations
impl SharedLogger for TermLogger
[src]
fn level(&self) -> LevelFilter
[src]
fn config(&self) -> Option<&Config>
[src]
fn as_log(self: Box<Self>) -> Box<dyn Log>
[src]
impl Log for TermLogger
[src]
Auto Trait Implementations
impl Send for TermLogger
impl Unpin for TermLogger
impl Sync for TermLogger
impl RefUnwindSafe for TermLogger
impl UnwindSafe for TermLogger
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,