Struct session_log::Logger
source · pub struct Logger(/* private fields */);Implementations§
source§impl Logger
impl Logger
sourcepub fn new(name: impl Into<String>) -> Logger
pub fn new(name: impl Into<String>) -> Logger
Create a new logging entry with the given name. Level and directory is
defaulted to Info and “logs”
OR
Retrieve an existing logging entry if the entry already exists.
You can chain the configuration methods to set the level and directory.
§Parameters
name- The name of the logging entry.
§Examples
use session_log::Logger;
fn main() {
let logger = Logger::new("main");
let logger2 = Logger::new("main"); // Retrieve the existing logger
let logger3 = Logger::new("main")
.set_log_level(session_log::Level::Debug);
.set_directory("logs/main");
}sourcepub fn set_default_directory(directory: impl Into<String>)
pub fn set_default_directory(directory: impl Into<String>)
Set the default logging directory for all new logging entries. The directory will be created if it doesn’t exist. Old loggers will not be affected by this change.
The default directory is ./logs.
sourcepub fn get_default_directory() -> String
pub fn get_default_directory() -> String
Get the default logging directory for all new logging entries.
sourcepub fn set_default_write_level(level: Level)
pub fn set_default_write_level(level: Level)
Set the default writing level for all new writing entries. Old loggers will not be affected by this change.
The default writing level is Verbose.
sourcepub fn get_default_write_level() -> Level
pub fn get_default_write_level() -> Level
Get the default writing level for all new writing entries.
sourcepub fn set_default_log_level(level: Level)
pub fn set_default_log_level(level: Level)
Set the default logging level for all new logging entries. Old loggers will not be affected by this change.
The default logging level is Info.
sourcepub fn get_default_log_level() -> Level
pub fn get_default_log_level() -> Level
Get the default logging level for all new logging entries.
sourcepub fn set_default_processor(proc: fn(_: &Context<'_>) -> (String, String))
pub fn set_default_processor(proc: fn(_: &Context<'_>) -> (String, String))
Set the default processor for all new logging entries. Old loggers will not be affected by this change.
The default processor is $crate::context::processor.
sourcepub fn get_default_processor() -> fn(_: &Context<'_>) -> (String, String)
pub fn get_default_processor() -> fn(_: &Context<'_>) -> (String, String)
Get the default processor for all new logging entries.
sourcepub fn set_auto_directory(auto: bool)
pub fn set_auto_directory(auto: bool)
Set the if the logger should automatically set the directory based on the current application name. Once set, the directory option will no longer take effect.
sourcepub fn get_auto_directory() -> bool
pub fn get_auto_directory() -> bool
Get the if the logger should automatically set the directory based on the current application name.
sourcepub fn get_write_level(&self) -> Level
pub fn get_write_level(&self) -> Level
Get writing level for this entry.
§Examples
use session_log::{Logger, Level};
fn main() {
let logger = Logger::new("main");
assert_eq!(logger.get_write_level(), Level::Info);
}sourcepub fn set_write_level(self, level: Level) -> Self
pub fn set_write_level(self, level: Level) -> Self
Set writing level for this entry
§Examples
use session_log::{Logger, Level};
fn main() {
let mut logger = Logger::new("main");
logger = logger.set_write_level(Level::Debug);
assert_eq!(logger.get_write_level(), Level::Debug);
logger = logger.set_write_level(Level::Info);
assert_eq!(logger.get_write_level(), Level::Info);
}sourcepub fn get_log_level(&self) -> Level
pub fn get_log_level(&self) -> Level
Get logging level for this entry.
§Examples
use session_log::{Logger, Level};
fn main() {
let logger = Logger::new("main");
assert_eq!(logger.get_log_level(), Level::Info);
}sourcepub fn set_log_level(self, level: Level) -> Self
pub fn set_log_level(self, level: Level) -> Self
Set logging level for this entry
§Examples
use session_log::{Logger, Level};
fn main() {
let mut logger = Logger::new("main");
logger = logger.set_log_level(Level::Debug);
assert_eq!(logger.get_log_level(), Level::Debug);
logger = logger.set_log_level(Level::Info);
assert_eq!(logger.get_log_level(), Level::Info);
}sourcepub fn get_directory(&self) -> String
pub fn get_directory(&self) -> String
Get logging directory for this entry.
§Examples
use session_log::Logger;
fn main() {
let logger = Logger::new("main");
assert_eq!(logger.get_directory(), "logs");
}sourcepub fn set_directory(self, directory: impl Into<String>) -> Self
pub fn set_directory(self, directory: impl Into<String>) -> Self
Set logging directory for this entry and create the directory if it doesn’t exist. the result of creating the directory is returned.
§Examples
use session_log::Logger;
fn main() {
let mut logger = Logger::new("main");
logger = logger.set_directory("logs/main");
assert_eq!(logger.get_directory(), "logs/main");
logger = logger.set_directory("logs/other");
assert_eq!(logger.get_directory(), "logs/other");
}sourcepub fn set_processor(
self,
proc: fn(_: &Context<'_>) -> (String, String),
) -> Self
pub fn set_processor( self, proc: fn(_: &Context<'_>) -> (String, String), ) -> Self
Set the processor for this entry.
§Examples
use session_log::Logger;
fn main() {
let logger = Logger::new("main")
.set_proc(|ctx| (
// The console will always print "Hello"
"Hello".to_string(),
// The file will always write "World"
"World".to_string()
));
}