Struct rusty_logger::logger::Logger[][src]

pub struct Logger<T: Write> {
    pub options: Options,
    // some fields omitted
}
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");

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.