pub struct StdoutLogger {}Expand description
Implements a GenLogger that outputs to Stdout
§Simple Example
Instantiates a logger with default message and timestamp format
use log::info;
use log::LevelFilter;
use poly_logger::StdoutLogger;
let mut logger = StdoutLogger::new(LevelFilter::Info);
logger.init().unwrap();
info!("This is an INFO message to STOUT");§Customized Example
Instantiates a logger with custom message and timestamp format
use log::info;
use log::LevelFilter;
use poly_logger::StdoutLogger;
let mut logger = StdoutLogger::new(LevelFilter::Info);
logger.timestamp_format("%X%.6f")
.msg_format("[{timestamp} {file}:{line}] - {level} - {args}");
logger.init().unwrap();
info!("This is a formatted INFO message to STOUT");§Note
The call to new() is actually returning an instance of GenLogger
Implementations§
Source§impl StdoutLogger
impl StdoutLogger
Sourcepub fn new(level_filter: LevelFilter) -> GenLogger<Stdout>
pub fn new(level_filter: LevelFilter) -> GenLogger<Stdout>
Examples found in repository?
examples/stdout.rs (line 6)
5fn main() {
6 let mut logger = StdoutLogger::new(LevelFilter::Info);
7
8 logger.timestamp_format("%F %X%.3f %Z")
9 .msg_format("{level} [{timestamp} {file}:{line}] - {args}");
10 logger.init().unwrap();
11
12 trace!("This is an TRACE message");
13 debug!("This is a DEBUG message");
14 info!("This is an INFO message");
15 warn!("This is a WARN message");
16 error!("This is an ERROR message");
17}More examples
examples/poly.rs (line 28)
5fn main() {
6 // Create some logger instances and run all through
7 // the PolyLogger
8
9 // Default format
10 let tl0 = StderrLogger::new(LevelFilter::Info);
11
12 // Custom format
13 let mut tl1 = StderrLogger::new(LevelFilter::Warn);
14 tl1.timestamp_format("%a %b %e %T %Y")
15 .msg_format("Custom: [{timestamp}] {level} [{file}:{line}] - {args}");
16
17 // Simpler format
18 let mut tl2 = StderrLogger::new(LevelFilter::Info);
19 tl2.msg_format("Simple1: {level} [{timestamp}] {args}")
20 .timestamp_format("%T");
21
22 // Even simpler
23 let mut tl3 = StderrLogger::new(LevelFilter::Debug);
24 tl3.msg_format("Simple2: {level} - {args}")
25 .timestamp_format("");
26
27 // Raw format to stdout
28 let mut tl4 = StdoutLogger::new(LevelFilter::Trace);
29 tl4.msg_format("{args}")
30 .timestamp_format("");
31
32 // File logger
33 let filename = "/tmp/file_logger.log";
34 let mut fl0 = FileLogger::new(LevelFilter::Info);
35 fl0.msg_format("Simple1: {level} [{timestamp}] {args}")
36 .timestamp_format("%T")
37 .filename(filename);
38 println!("Logging to {}", filename);
39
40 // Create the poly logger and add our logger instances
41 let mut pl = PolyLogger::new();
42 pl.add(tl0);
43 pl.add(tl1);
44 pl.add(tl2);
45 pl.add(tl3);
46 pl.add(tl4);
47 pl.add(fl0.create());
48 pl.init().unwrap();
49
50 trace!("This is an TRACE message");
51 eprintln!("------------------------------");
52 debug!("This is a DEBUG message");
53 eprintln!("------------------------------");
54 info!("This is an INFO message");
55 eprintln!("------------------------------");
56 warn!("This is a WARN message");
57 eprintln!("------------------------------");
58 error!("This is an ERROR message");
59}Auto Trait Implementations§
impl Freeze for StdoutLogger
impl RefUnwindSafe for StdoutLogger
impl Send for StdoutLogger
impl Sync for StdoutLogger
impl Unpin for StdoutLogger
impl UnsafeUnpin for StdoutLogger
impl UnwindSafe for StdoutLogger
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