Skip to content

Commit 088f9f3

Browse files
committed
address comments
Signed-off-by: tison <[email protected]>
1 parent 66a7ab7 commit 088f9f3

File tree

4 files changed

+42
-42
lines changed

4 files changed

+42
-42
lines changed

src/__private_api.rs

+24-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//! WARNING: this is not part of the crate's public API and is subject to change at any time
22
33
use self::sealed::KVs;
4-
use crate::{Level, Log, Metadata, Record};
4+
use crate::{logger, Level, Log, Metadata, Record};
55
use std::fmt::Arguments;
66
use std::panic::Location;
77
pub use std::{format_args, module_path, stringify};
@@ -34,6 +34,28 @@ impl<'a> KVs<'a> for () {
3434

3535
// Log implementation.
3636

37+
/// The global logger proxy.
38+
///
39+
/// This zero-sized type implements the [`Log`] trait by forwarding calls
40+
/// to the logger registered with the `set_boxed_logger` or `set_logger`
41+
/// methods if there is one, or a nop logger as default.
42+
#[derive(Copy, Clone, Default, Debug)]
43+
pub struct GlobalLogger;
44+
45+
impl Log for GlobalLogger {
46+
fn enabled(&self, metadata: &Metadata) -> bool {
47+
logger().enabled(metadata)
48+
}
49+
50+
fn log(&self, record: &Record) {
51+
logger().log(record)
52+
}
53+
54+
fn flush(&self) {
55+
logger().flush()
56+
}
57+
}
58+
3759
fn log_impl<L: Log>(
3860
logger: L,
3961
args: Arguments,
@@ -63,7 +85,7 @@ fn log_impl<L: Log>(
6385
}
6486

6587
pub fn log<'a, K, L>(
66-
logger: L,
88+
logger: &L,
6789
args: Arguments,
6890
level: Level,
6991
target_module_path_and_loc: &(&str, &'static str, &'static Location),

src/lib.rs

-22
Original file line numberDiff line numberDiff line change
@@ -1216,28 +1216,6 @@ impl Log for NopLogger {
12161216
fn flush(&self) {}
12171217
}
12181218

1219-
/// The global logger proxy.
1220-
///
1221-
/// This zero-sized type implements the [`Log`] trait by forwarding calls
1222-
/// to the logger registered with the `set_boxed_logger` or `set_logger`
1223-
/// methods if there is one, or a nop logger as default.
1224-
#[derive(Copy, Clone, Default, Debug)]
1225-
pub struct GlobalLogger;
1226-
1227-
impl Log for GlobalLogger {
1228-
fn enabled(&self, metadata: &Metadata) -> bool {
1229-
logger().enabled(metadata)
1230-
}
1231-
1232-
fn log(&self, record: &Record) {
1233-
logger().log(record)
1234-
}
1235-
1236-
fn flush(&self) {
1237-
logger().flush()
1238-
}
1239-
}
1240-
12411219
impl<T> Log for &'_ T
12421220
where
12431221
T: ?Sized + Log,

src/macros.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ macro_rules! log {
7171
let lvl = $lvl;
7272
if lvl <= $crate::STATIC_MAX_LEVEL && lvl <= $crate::max_level() {
7373
$crate::__private_api::log::<&_, _>(
74-
$logger,
74+
&($logger),
7575
$crate::__private_api::format_args!($($arg)+),
7676
lvl,
7777
&($target, $crate::__private_api::module_path!(), $crate::__private_api::loc()),
@@ -85,7 +85,7 @@ macro_rules! log {
8585
let lvl = $lvl;
8686
if lvl <= $crate::STATIC_MAX_LEVEL && lvl <= $crate::max_level() {
8787
$crate::__private_api::log(
88-
$logger,
88+
&($logger),
8989
$crate::__private_api::format_args!($($arg)+),
9090
lvl,
9191
&($target, $crate::__private_api::module_path!(), $crate::__private_api::loc()),
@@ -101,7 +101,7 @@ macro_rules! log {
101101

102102
// log!(target: "my_target", Level::Info, "a log event")
103103
(target: $target:expr, $lvl:expr, $($arg:tt)+) => ({
104-
$crate::log!(logger: $crate::GlobalLogger, target: $target, $lvl, $($arg)+)
104+
$crate::log!(logger: $crate::__private_api::GlobalLogger, target: $target, $lvl, $($arg)+)
105105
});
106106

107107
// log!(Level::Info, "a log event")
@@ -117,7 +117,7 @@ macro_rules! log {
117117
/// ```
118118
/// use log::error;
119119
///
120-
/// # let my_logger = log::GlobalLogger;
120+
/// # let my_logger = log::__private_api::GlobalLogger;
121121
/// let (err_info, port) = ("No connection", 22);
122122
///
123123
/// error!("Error: {err_info} on port {port}");
@@ -156,7 +156,7 @@ macro_rules! error {
156156
/// ```
157157
/// use log::warn;
158158
///
159-
/// # let my_logger = log::GlobalLogger;
159+
/// # let my_logger = log::__private_api::GlobalLogger;
160160
/// let warn_description = "Invalid Input";
161161
///
162162
/// warn!("Warning! {warn_description}!");
@@ -195,7 +195,7 @@ macro_rules! warn {
195195
/// ```
196196
/// use log::info;
197197
///
198-
/// # let my_logger = log::GlobalLogger;
198+
/// # let my_logger = log::__private_api::GlobalLogger;
199199
/// # struct Connection { port: u32, speed: f32 }
200200
/// let conn_info = Connection { port: 40, speed: 3.20 };
201201
///
@@ -243,7 +243,7 @@ macro_rules! info {
243243
/// ```
244244
/// use log::debug;
245245
///
246-
/// # let my_logger = log::GlobalLogger;
246+
/// # let my_logger = log::__private_api::GlobalLogger;
247247
/// # struct Position { x: f32, y: f32 }
248248
/// let pos = Position { x: 3.234, y: -1.223 };
249249
///
@@ -283,7 +283,7 @@ macro_rules! debug {
283283
/// ```
284284
/// use log::trace;
285285
///
286-
/// # let my_logger = log::GlobalLogger;
286+
/// # let my_logger = log::__private_api::GlobalLogger;
287287
/// # struct Position { x: f32, y: f32 }
288288
/// let pos = Position { x: 3.234, y: -1.223 };
289289
///
@@ -333,7 +333,7 @@ macro_rules! trace {
333333
///
334334
/// # struct Data { x: u32, y: u32 }
335335
/// # fn expensive_call() -> Data { Data { x: 0, y: 0 } }
336-
/// # let my_logger = log::GlobalLogger;
336+
/// # let my_logger = log::__private_api::GlobalLogger;
337337
/// if log_enabled!(Level::Debug) {
338338
/// let data = expensive_call();
339339
/// debug!("expensive debug data: {} {}", data.x, data.y);
@@ -363,7 +363,7 @@ macro_rules! log_enabled {
363363
});
364364

365365
(target: $target:expr, $lvl:expr) => ({
366-
$crate::log_enabled!(logger: $crate::GlobalLogger, target: $target, $lvl)
366+
$crate::log_enabled!(logger: $crate::__private_api::GlobalLogger, target: $target, $lvl)
367367
});
368368

369369
($lvl:expr) => ({

tests/macros.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ macro_rules! all_log_macros {
1010
});
1111
}
1212

13-
struct NopLogger;
13+
struct Logger;
1414

15-
impl Log for NopLogger {
15+
impl Log for Logger {
1616
fn enabled(&self, _: &Metadata) -> bool {
1717
false
1818
}
@@ -39,10 +39,10 @@ fn no_args() {
3939
all_log_macros!(target: "my_target", "hello");
4040
all_log_macros!(target: "my_target", "hello",);
4141

42-
all_log_macros!(logger: NopLogger, "hello");
43-
all_log_macros!(logger: NopLogger, "hello",);
44-
all_log_macros!(logger: NopLogger, target: "my_target", "hello");
45-
all_log_macros!(logger: NopLogger, target: "my_target", "hello",);
42+
all_log_macros!(logger: Logger, "hello");
43+
all_log_macros!(logger: Logger, "hello",);
44+
all_log_macros!(logger: Logger, target: "my_target", "hello");
45+
all_log_macros!(logger: Logger, target: "my_target", "hello",);
4646
}
4747

4848
#[test]
@@ -130,8 +130,8 @@ fn kv_no_args() {
130130
log!(lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
131131
}
132132

133-
all_log_macros!(logger: NopLogger, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
134-
all_log_macros!(logger: NopLogger, target: "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
133+
all_log_macros!(logger: Logger, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
134+
all_log_macros!(logger: Logger, target: "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
135135
all_log_macros!(target: "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
136136
all_log_macros!(target = "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
137137
all_log_macros!(cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");

0 commit comments

Comments
 (0)