Struct structured_logger::Builder
source · pub struct Builder { /* private fields */ }
Expand description
A struct to initialize the logger for log
crate.
Implementations§
source§impl Builder
impl Builder
sourcepub fn new() -> Self
pub fn new() -> Self
Returns a Builder
with default configuration.
The default configuration is:
- level filter: get from the environment variable by
get_env_level()
. - default writer: write to stderr in JSON format.
sourcepub fn with_level(level: &str) -> Self
pub fn with_level(level: &str) -> Self
Returns a Builder
with a given level filter.
level
is a string that can be parsed to log::LevelFilter
.
Such as “OFF”, “ERROR”, “WARN”, “INFO”, “DEBUG”, “TRACE”, ignore ascii case.
sourcepub fn with_default_writer(self, writer: Box<dyn Writer>) -> Self
pub fn with_default_writer(self, writer: Box<dyn Writer>) -> Self
Returns a Builder
with a given writer
as default writer.
sourcepub fn with_target_writer(self, targets: &str, writer: Box<dyn Writer>) -> Self
pub fn with_target_writer(self, targets: &str, writer: Box<dyn Writer>) -> Self
Returns a Builder
with a given targets
pattern and writer
.
targets
is a pattern that be used to test log target, if true, the log will be written to the writer
.
writer
is a boxed struct that implements the Writer
trait.
You can call this method multiple times in order to add multiple writers.
targets
pattern examples:
"api"
: match the target “api”."api,db"
: match the target “api” or “db”."api*,db"
: match the target “db”, “api”, “api::v1”, “api::v2”, etc."*"
: match all targets.
sourcepub fn init(self)
pub fn init(self)
Initialize the logger for log
crate.
See the crate level documentation for more.
Panics
This will panic if the logger fails to initialize. Use Builder::try_init
if
you want to handle the error yourself.
sourcepub fn try_init(self) -> Result<(), SetLoggerError>
pub fn try_init(self) -> Result<(), SetLoggerError>
Try to initialize the logger for log
crate.
Unlike Builder::init
this doesn’t panic when the logger fails to initialize.
See the crate level documentation for more.