1336d762aSopenharmony_ci/*!
2336d762aSopenharmony_ciUsing `env_logger::Logger` and the `log::Log` trait directly.
3336d762aSopenharmony_ci
4336d762aSopenharmony_ciThis example doesn't rely on environment variables, or having a static logger installed.
5336d762aSopenharmony_ci*/
6336d762aSopenharmony_ci
7336d762aSopenharmony_ciuse env_logger::{Builder, WriteStyle};
8336d762aSopenharmony_ci
9336d762aSopenharmony_ciuse log::{Level, LevelFilter, Log, MetadataBuilder, Record};
10336d762aSopenharmony_ci
11336d762aSopenharmony_cifn record() -> Record<'static> {
12336d762aSopenharmony_ci    let error_metadata = MetadataBuilder::new()
13336d762aSopenharmony_ci        .target("myApp")
14336d762aSopenharmony_ci        .level(Level::Error)
15336d762aSopenharmony_ci        .build();
16336d762aSopenharmony_ci
17336d762aSopenharmony_ci    Record::builder()
18336d762aSopenharmony_ci        .metadata(error_metadata)
19336d762aSopenharmony_ci        .args(format_args!("Error!"))
20336d762aSopenharmony_ci        .line(Some(433))
21336d762aSopenharmony_ci        .file(Some("app.rs"))
22336d762aSopenharmony_ci        .module_path(Some("server"))
23336d762aSopenharmony_ci        .build()
24336d762aSopenharmony_ci}
25336d762aSopenharmony_ci
26336d762aSopenharmony_cifn main() {
27336d762aSopenharmony_ci    let stylish_logger = Builder::new()
28336d762aSopenharmony_ci        .filter(None, LevelFilter::Error)
29336d762aSopenharmony_ci        .write_style(WriteStyle::Always)
30336d762aSopenharmony_ci        .build();
31336d762aSopenharmony_ci
32336d762aSopenharmony_ci    let unstylish_logger = Builder::new()
33336d762aSopenharmony_ci        .filter(None, LevelFilter::Error)
34336d762aSopenharmony_ci        .write_style(WriteStyle::Never)
35336d762aSopenharmony_ci        .build();
36336d762aSopenharmony_ci
37336d762aSopenharmony_ci    stylish_logger.log(&record());
38336d762aSopenharmony_ci    unstylish_logger.log(&record());
39336d762aSopenharmony_ci}
40