Struct rusty_logger::logger::Logger [−][src]
Expand description
A modular and powerful logger
Example
use rusty_logger::Logger;
use rusty_logger::types;
let mut logger = Logger::new("EXAMPLE", std::io::stdout());
logger.options.time_unit = types::TimeUnit::Nanoseconds;
logger.info("We will be timing a for loop");
logger.timer_start("for loop");
for i in 0..1000 {
// Do something...
}
logger.timer_log_and_stop("for loop");
logger.info("The for loop ended successfully");
Fields
options: Options
Implementations
Creates a new Logger with default values and the given name
Example
use rusty_logger::Logger;
let mut logger = Logger::new("name", std::io::stdout());
logger.info("This is a new logger named 'name' !");
Creates a new Logger with custom options and modules
Example
use rusty_logger::{
Logger,
Module,
Options,
modules,
};
let options = Options::new("homemade logger");
let modules: Vec<Box<dyn Module>> = vec!(
Box::new(modules::Name{}),
Box::new(modules::Time{}),
Box::new(modules::Type{})
);
let mut logger = Logger::homemade(std::io::stdout(), options, modules);
logger.info("This is a new logger named 'name' which has 'options' as its options !");
Static implementation for the log function
Mainly used to print internal error messages but can also be used by an end user
Example
use rusty_logger::{Logger, types::LogType};
Logger::static_log("Printing on the fly", LogType::Info, std::io::stdout());
Logs the given message to the output as an information
Example
use rusty_logger::Logger;
let mut logger = Logger::new("name", std::io::stdout());
logger.info("Here is some information I want to log");
Logs the given message to the output as a warning
Example
use rusty_logger::Logger;
let mut logger = Logger::new("name", std::io::stdout());
logger.warn("Here is a warning");
Logs the given message to the output as an error
Example
use rusty_logger::Logger;
let mut logger = Logger::new("name", std::io::stdout());
logger.info("Some error happened");
Starts a new timer with the given name and the actual time
Gets the duration from when the timer with the given name was started
Stops the timer with the given name and returns it as a duration
Resets the timer with the given name and returns the duration of the timer before being reset as a duration
Pauses the timer with the given name and returns the duration of the timer before pausing it as a duration
Resumes the timer with the given name
Logs the time elapsed between the start/reset of the timer and now without reseting it
Example
use rusty_logger::Logger;
let mut logger = Logger::new("name", std::io::stdout());
logger.timer_start("new_timer");
std::thread::sleep(std::time::Duration::from_millis(1));
logger.timer_log("new_timer");
Logs the time elapsed between the start/reset of the timer and now and then stops it
Example
use rusty_logger::Logger;
let mut logger = Logger::new("name", std::io::stdout());
logger.timer_start("new_timer");
std::thread::sleep(std::time::Duration::from_millis(1));
logger.timer_log_and_stop("new_timer");
Logs the time elapsed between the start/reset of the timer and now and then resets it
Example
use rusty_logger::Logger;
let mut logger = Logger::new("name", std::io::stdout());
logger.timer_start("new_timer");
std::thread::sleep(std::time::Duration::from_millis(1));
logger.timer_log_and_reset("new_timer");
std::thread::sleep(std::time::Duration::from_millis(1));
logger.timer_log_and_stop("new_timer");