Crate slog_try

source ·
Expand description

Convenience macros for logging with optional slog Loggers.

Example

#[derive(Default)]
struct HasOptLogger {
    logger: Option<Logger>,
}

let mut opt_logger: HasOptLogger = Default::default();
try_info!(opt_logger.logger, "You won't see me output.  The logger is None."; "opt" => "None");
try_info!(opt_logger.logger, #"imatag", "You won't see me output.  The logger is None."; "opt" => "None");

// Setup a `Logger`
opt_logger.logger = Some(logger);
try_info!(opt_logger.logger, "You will see me output!"; "opt" => "Some");
try_info!(opt_logger.logger, #"imatag", "You will see me output!"; "opt" => "Some");

Macros

Log critical level record
Log debug level record
Log error level record
Log info level record
Log trace level record
Log a crit level message if the given logger is Some,, otherwise do nothing.
Log a debug level message if the given logger is Some, otherwise do nothing.
Log an error level message if the given logger is Some, otherwise do nothing.
Log an info level message if the given logger is Some, otherwise do nothing.
Log a trace level message if the given logger is Some, otherwise do nothing.
Log a warn level message if the given logger is Some, otherwise do nothing.
Log warning level record