1#[macro_export]
32macro_rules! log_at {
33 ($logger:expr, $level:expr, $msg:expr $(,)?) => {{
34 let __logger = &$logger;
35 let __level: $crate::Level = $level;
36 if __logger.enabled(::core::module_path!(), __level) {
37 let __fields: [$crate::Field<'_>; 0] = [];
38 let __metadata = $crate::Metadata::new(__level, ::core::module_path!())
39 .with_location(::core::file!(), ::core::line!());
40 let _ = __logger.try_emit(__metadata, $msg, &__fields);
41 }
42 }};
43 ($logger:expr, $level:expr, $msg:expr, $($key:ident = $value:expr),+ $(,)?) => {{
44 let __logger = &$logger;
45 let __level: $crate::Level = $level;
46 if __logger.enabled(::core::module_path!(), __level) {
47 let __fields = [
48 $(
49 $crate::Field::new(stringify!($key), $crate::Value::from($value)),
50 )+
51 ];
52 let __metadata = $crate::Metadata::new(__level, ::core::module_path!())
53 .with_location(::core::file!(), ::core::line!());
54 let _ = __logger.try_emit(__metadata, $msg, &__fields);
55 }
56 }};
57}
58
59#[macro_export]
61macro_rules! trace {
62 ($logger:expr, $($rest:tt)*) => {
63 $crate::log_at!($logger, $crate::Level::Trace, $($rest)*)
64 };
65}
66
67#[macro_export]
69macro_rules! debug {
70 ($logger:expr, $($rest:tt)*) => {
71 $crate::log_at!($logger, $crate::Level::Debug, $($rest)*)
72 };
73}
74
75#[macro_export]
77macro_rules! info {
78 ($logger:expr, $($rest:tt)*) => {
79 $crate::log_at!($logger, $crate::Level::Info, $($rest)*)
80 };
81}
82
83#[macro_export]
89macro_rules! warn {
90 ($logger:expr, $($rest:tt)*) => {
91 $crate::log_at!($logger, $crate::Level::Warn, $($rest)*)
92 };
93}
94
95#[macro_export]
97macro_rules! error {
98 ($logger:expr, $($rest:tt)*) => {
99 $crate::log_at!($logger, $crate::Level::Error, $($rest)*)
100 };
101}