Skip to content
This repository has been archived by the owner on Nov 23, 2023. It is now read-only.

A rust logger that prints all messages with a readable output format.

License

Notifications You must be signed in to change notification settings

twiby/rust-simple_logger

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

simple_logger

A logger that prints all messages with a readable output format.

The output format is based on the format used by Supervisord, with timestamps default RFC 3339 format. The format used for timestamps can be customised.

Breaking changes

  • Version 2.0.0 changes the default from displaying timestamps in the local timezone to displaying timestamps in UTC. See issue #52 for more information.

Usage

use simple_logger::SimpleLogger;

fn main() {
    SimpleLogger::new().init().unwrap();

    log::warn!("This is an example message.");
}

This outputs:

2022-01-19T17:27:07.013874956Z WARN [logging_example] This is an example message.

You can run the above example with:

cargo run --example init

The colors and timestamps features are enabled by default. You can remove these features and their respective dependencies by disabling all features in your Cargo.toml.

[dependencies.simple_logger]
default-features = false

To include the timestamps feature, but not the colors feature:

[dependencies.simple_logger]
default-features = false
features = ["timestamps"]

To include the colors feature, but not the timestamps feature:

[dependencies.simple_logger]
default-features = false
features = ["colors"]

To include thread metadata use the threads and nightly features:

[dependencies.simple_logger]
features = ["threads", "nightly"]

To direct logging output to stderr use the stderr feature:

[dependencies.simple_logger]
features = ["stderr"]

Multiple features can be combined.

[dependencies.simple_logger]
features = ["colors", "threads", "timestamps", "nightly", "stderr"]

Wrapping with another logger

Users that might want to wrap this logger to be able to catch log events for various reasons can setup the logger as follows:

On windows machines:

let logger = SimpleLogger::new();
set_up_color_terminal();
let max_level = logger.max_level(); 

Otherwise:

let logger = SimpleLogger::new();
let max_level = logger.max_level();

The user can then themselves call log::set_max_level and log::set_boxed_logger or equivalent as they wish.

Licence

simple_logger is licenced under the MIT Licence.

Authors

Written by Sam Clements.

About

A rust logger that prints all messages with a readable output format.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%