Expand description
A lightweight logging facade for Rust.
log
provides a single logging API that abstracts over the actual logging implementation.
Libraries can use the logging API provided by this crate,
and the executable can choose the logging implementation
that is most suitable for its use case.
The log
crate provides macros for logging at various levels:
error!
, warn!
, info!
, debug!
, and trace!
,
where error!
represents the highest priority and trace!
the lowest.
The logging facade itself doesn’t perform any logging;
it needs to be paired with a logging implementation like env_logger
,
simplelog
, fern
, or tracing-subscriber
.
The implementation is responsible for filtering log messages,
formatting them, and outputting them to the appropriate destination.
§Examples
use log::{debug, error, info, trace, warn};
fn main() {
env_logger::init();
process_data(42);
}
fn process_data(value: i32) {
trace!("Starting data processing");
debug!("Processing value: {}", value);
if value < 0 {
error!("Invalid value: {}", value);
return;
}
if value == 0 {
warn!("Processing zero value");
}
info!("Successfully processed value: {}", value);
}
Macros§
- debug
- Logs a message at the debug level.
- error
- Logs a message at the error level.
- info
- Logs a message at the info level.
- log
- The standard logging macro.
- log_
enabled - Determines if a message logged at the specified level in that module will be logged.
- trace
- Logs a message at the trace level.
- warn
- Logs a message at the warn level.
Structs§
- Metadata
- Metadata about a log message.
- Metadata
Builder - Builder for
Metadata
. - Parse
Level Error - The type returned by
from_str
when the string doesn’t match any of the log levels. - Record
- The “payload” of a log message.
- Record
Builder - Builder for
Record
. - SetLogger
Error - The type returned by
set_logger
ifset_logger
has already been called.
Enums§
- Level
- An enum representing the available verbosity levels of the logger.
- Level
Filter - An enum representing the available verbosity level filters of the logger.
Constants§
- STATIC_
MAX_ LEVEL - The statically resolved maximum log level.
Traits§
- Log
- A trait encapsulating the operations required of a logger.
Functions§
- logger
- Returns a reference to the logger.
- max_
level - Returns the current maximum log level.
- set_
boxed_ logger - Sets the global logger to a
Box<Log>
. - set_
logger - Sets the global logger to a
&'static Log
. - set_
logger_ ⚠racy - A thread-unsafe version of
set_logger
. - set_
max_ level - Sets the global maximum log level.
- set_
max_ ⚠level_ racy - A thread-unsafe version of
set_max_level
.