|
1 | 1 | extern crate slog_stdlog; |
2 | 2 | extern crate slog_envlogger; |
3 | 3 | extern crate slog_term; |
| 4 | +extern crate slog_scope; |
| 5 | +extern crate slog_async; |
4 | 6 |
|
5 | 7 | /// Import longer-name versions of macros only to not collide with legacy `log` |
6 | | -#[macro_use(slog_error, slog_info, slog_trace, slog_log, o)] |
| 8 | +#[macro_use(slog_error, slog_info, slog_trace, slog_log, o, slog_record, |
| 9 | + slog_record_static, slog_b)] |
7 | 10 | extern crate slog; |
8 | 11 |
|
9 | | -use slog::DrainExt; |
| 12 | +use slog::Drain; |
| 13 | +use std::sync::Arc; |
10 | 14 |
|
11 | 15 | #[macro_use] |
12 | 16 | extern crate log; |
13 | 17 |
|
14 | 18 | fn main() { |
15 | | - let term = slog_term::streamer().build(); |
16 | | - let drain = slog_envlogger::new(term); |
| 19 | + let drain = |
| 20 | + slog_async::Async::default( |
| 21 | + slog_envlogger::new( |
| 22 | + slog_term::CompactFormat::new( |
| 23 | + slog_term::TermDecorator::new() |
| 24 | + .stderr().build() |
| 25 | + ).build().fuse() |
| 26 | + )); |
17 | 27 |
|
18 | | - let root_logger = slog::Logger::root(drain.fuse(), o!("build" => "8jdkj2df", "version" => "0.1.5")); |
| 28 | + let root_logger = slog::Logger::root(Arc::new(drain.fuse()), o!("build" => "8jdkj2df", "version" => "0.1.5")); |
19 | 29 |
|
20 | | - slog_stdlog::set_logger(root_logger.clone()).unwrap(); |
| 30 | + slog_stdlog::init().unwrap(); |
21 | 31 |
|
22 | | - slog_error!(root_logger, "slog error"); |
23 | | - error!("log error"); |
24 | | - slog_info!(root_logger, "slog info"); |
25 | | - info!("log info"); |
26 | | - slog_trace!(root_logger, "slog trace"); |
27 | | - trace!("log trace"); |
| 32 | + //slog_scope::set_global_logger(root_logger.clone().into_erased()); |
| 33 | + slog_scope::scope( |
| 34 | + root_logger.clone().into_erased(), |
| 35 | + || { |
| 36 | + |
| 37 | + slog_error!(root_logger, "slog error"); |
| 38 | + error!("log error"); |
| 39 | + slog_info!(root_logger, "slog info"); |
| 40 | + info!("log info"); |
| 41 | + slog_trace!(root_logger, "slog trace"); |
| 42 | + trace!("log trace"); |
| 43 | + } |
| 44 | + ); |
28 | 45 | } |
0 commit comments