Skip to main content

dscale/helpers/
logger.rs

1/// Logs at the given level, prefixed with simulation time and process pid.
2/// Controlled by the `RUST_LOG` environment variable.
3#[doc(hidden)]
4#[macro_export]
5macro_rules! dscale_log {
6    ($level:ident, $($arg:tt)+) => {
7        log::$level!("[Now: {} | P{}] {}", now(), pid(), format_args!($($arg)+));
8    }
9}
10
11/// Logs at **trace** level. See [`dscale_log`].
12#[macro_export]
13macro_rules! dscale_trace {
14    ($($arg:tt)+) => { $crate::dscale_log!(trace, $($arg)+); }
15}
16
17/// Logs at **debug** level. See [`dscale_log`].
18#[macro_export]
19macro_rules! dscale_debug {
20    ($($arg:tt)+) => { $crate::dscale_log!(debug, $($arg)+); }
21}
22
23/// Logs at **info** level. See [`dscale_log`].
24#[macro_export]
25macro_rules! dscale_info {
26    ($($arg:tt)+) => { $crate::dscale_log!(info, $($arg)+); }
27}
28
29/// Logs at **warn** level. See [`dscale_log`].
30#[macro_export]
31macro_rules! dscale_warn {
32    ($($arg:tt)+) => { $crate::dscale_log!(warn, $($arg)+); }
33}
34
35/// Logs at **error** level. See [`dscale_log`].
36#[macro_export]
37macro_rules! dscale_error {
38    ($($arg:tt)+) => { $crate::dscale_log!(error, $($arg)+); }
39}