Skip to content

Commit cac9c6c

Browse files
committed
async logger
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
1 parent 03ac5ba commit cac9c6c

File tree

3 files changed

+18
-18
lines changed

3 files changed

+18
-18
lines changed

examples/trace.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@ use async_log::span;
22
use log::info;
33

44
fn setup_logger() {
5-
env_logger::Builder::new()
6-
.filter(None, log::Level::Trace.to_level_filter())
7-
.try_init()
5+
let logger = env_logger::Builder::new()
6+
.filter(None, log::LevelFilter::Trace)
7+
.build();
8+
9+
let depth = 4;
10+
async_log::Logger::wrap(logger, depth, || (12, Some(13)))
11+
.start(log::LevelFilter::Trace)
812
.unwrap();
913
}
1014

src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
//!
7979
//! fn setup_logger() {
8080
//! env_logger::Builder::new()
81-
//! .filter(None, log::Level::Trace.to_level_filter())
81+
//! .filter(None, log::LevelFilter::Trace)
8282
//! .try_init()
8383
//! .unwrap();
8484
//! }
@@ -90,7 +90,7 @@
9090
//! let x = "foo";
9191
//! info!("this {}", x);
9292
//!
93-
//! span!("inner", "x={}", x, {
93+
//! span!("inner, x={}", x, {
9494
//! info!("we must go deeper {}", x);
9595
//! });
9696
//! })

src/logger.rs

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ where
1010
logger: L,
1111
with: F,
1212
depth: u8,
13-
filter: LevelFilter,
1413
}
1514

1615
impl<L: Log + 'static, F> Logger<L, F>
@@ -20,22 +19,19 @@ where
2019
/// Wrap an existing logger, extending it with async functionality.
2120
pub fn wrap(logger: L, depth: u8, with: F) -> Self {
2221
Self {
23-
filter: LevelFilter::Off,
2422
logger,
2523
depth,
2624
with,
2725
}
2826
}
2927

30-
/// Set the filter level
31-
pub fn filter(mut self, filter: LevelFilter) -> Self {
32-
self.filter = filter;
33-
self
34-
}
35-
3628
/// Start logging.
37-
pub fn start(self) -> Result<(), log::SetLoggerError> {
38-
log::set_boxed_logger(Box::new(self))
29+
pub fn start(self, filter: LevelFilter) -> Result<(), log::SetLoggerError> {
30+
let res = log::set_boxed_logger(Box::new(self));
31+
if res.is_ok() {
32+
log::set_max_level(filter);
33+
}
34+
res
3935
}
4036

4137
/// Call the `self.with` closure, and return its results.
@@ -57,9 +53,9 @@ where
5753
let (curr_id, parent_id) = self.with();
5854
let symbol = async_log_capture_caller(self.depth);
5955

60-
let task_id = format!("task_id={}", curr_id);
56+
let task_id = format!(", task_id={}", curr_id);
6157
let parent_id = parent_id
62-
.map(|pid| format!("task_parent_id={}", pid))
58+
.map(|pid| format!(", task_parent_id={}", pid))
6359
.unwrap_or_else(|| String::from(""));
6460

6561
let (line, filename) = match symbol {
@@ -87,8 +83,8 @@ where
8783
.args(format_args!(
8884
"{}{}{}{}{}",
8985
record.args(),
90-
line,
9186
filename,
87+
line,
9288
task_id,
9389
parent_id
9490
))

0 commit comments

Comments
 (0)