]> git.proxmox.com Git - cargo.git/blob - vendor/env_logger-0.5.13/examples/direct_logger.rs
New upstream version 0.33.0
[cargo.git] / vendor / env_logger-0.5.13 / examples / direct_logger.rs
1 /*!
2 Using `env_logger::Logger` and the `log::Log` trait directly.
3
4 This example doesn't rely on environment variables, or having a static logger installed.
5 */
6
7 extern crate log;
8 extern crate env_logger;
9
10 fn record() -> log::Record<'static> {
11 let error_metadata = log::MetadataBuilder::new()
12 .target("myApp")
13 .level(log::Level::Error)
14 .build();
15
16 log::Record::builder()
17 .metadata(error_metadata)
18 .args(format_args!("Error!"))
19 .line(Some(433))
20 .file(Some("app.rs"))
21 .module_path(Some("server"))
22 .build()
23 }
24
25 fn main() {
26 use log::Log;
27
28 let stylish_logger = env_logger::Builder::new()
29 .filter(None, log::LevelFilter::Error)
30 .write_style(env_logger::WriteStyle::Always)
31 .build();
32
33 let unstylish_logger = env_logger::Builder::new()
34 .filter(None, log::LevelFilter::Error)
35 .write_style(env_logger::WriteStyle::Never)
36 .build();
37
38 stylish_logger.log(&record());
39 unstylish_logger.log(&record());
40 }