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§

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