1#[doc(hidden)]
17#[macro_export]
18macro_rules! __nros_log_emit {
19 ($logger:expr, $severity:expr, $($arg:tt)+) => {{
20 let __logger: &$crate::Logger = $logger;
23 let __sev = $severity;
24 if __logger.is_enabled(__sev) {
25 use ::core::fmt::Write as _;
26 let mut __buf = $crate::FormatBuffer::new();
27 let _ = ::core::write!(__buf, $($arg)+);
31 let __record = $crate::Record {
32 severity: __sev,
33 logger_name: __logger.name(),
34 message: __buf.as_str(),
35 file: ::core::file!(),
36 line: ::core::line!(),
37 timestamp_ns: 0,
38 };
39 __logger.dispatch(&__record);
40 }
41 }};
42}
43
44#[macro_export]
49macro_rules! nros_trace {
50 ($logger:expr, $($arg:tt)+) => {
51 if $crate::severity_enabled_at_compile_time($crate::Severity::Trace) {
52 $crate::__nros_log_emit!($logger, $crate::Severity::Trace, $($arg)+);
53 }
54 };
55}
56
57#[macro_export]
59macro_rules! nros_debug {
60 ($logger:expr, $($arg:tt)+) => {
61 if $crate::severity_enabled_at_compile_time($crate::Severity::Debug) {
62 $crate::__nros_log_emit!($logger, $crate::Severity::Debug, $($arg)+);
63 }
64 };
65}
66
67#[macro_export]
69macro_rules! nros_info {
70 ($logger:expr, $($arg:tt)+) => {
71 if $crate::severity_enabled_at_compile_time($crate::Severity::Info) {
72 $crate::__nros_log_emit!($logger, $crate::Severity::Info, $($arg)+);
73 }
74 };
75}
76
77#[macro_export]
79macro_rules! nros_warn {
80 ($logger:expr, $($arg:tt)+) => {
81 if $crate::severity_enabled_at_compile_time($crate::Severity::Warn) {
82 $crate::__nros_log_emit!($logger, $crate::Severity::Warn, $($arg)+);
83 }
84 };
85}
86
87#[macro_export]
89macro_rules! nros_error {
90 ($logger:expr, $($arg:tt)+) => {
91 if $crate::severity_enabled_at_compile_time($crate::Severity::Error) {
92 $crate::__nros_log_emit!($logger, $crate::Severity::Error, $($arg)+);
93 }
94 };
95}
96
97#[macro_export]
99macro_rules! nros_fatal {
100 ($logger:expr, $($arg:tt)+) => {
101 if $crate::severity_enabled_at_compile_time($crate::Severity::Fatal) {
102 $crate::__nros_log_emit!($logger, $crate::Severity::Fatal, $($arg)+);
103 }
104 };
105}