#logging #debugging #development

bin+lib easylog

A simple and easy to use logging-crate. Write log-messages to a file.

32 releases (20 stable)

2.0.1 Dec 16, 2019
2.0.0 Dec 13, 2019
1.4.6 Apr 22, 2019
1.2.0 Aug 24, 2018
0.1.0 Jun 9, 2018

#601 in Development tools

40 downloads per month

MIT/Apache

25KB
304 lines

Latest version Documentation License

Note:

Only tested on Linux!

Description:

easylog - An easy and simple to use logger-crate for Rust.

easylog let you write logging messages to a file so you can analyse them later.

Example 1:

extern crate easylog;

use easylog::{LogFile, LogFileConfig, LogLevel};

fn main() {
    let default = LogFileConfig::new();
    let mut logfile = match LogFile::new(default) {
        Ok(file) => file,

        Err(error) => {
            panic!("Error: `{}`", error);
        }
    };

    logfile.write(LogLevel::DEBUG, "Insert your logmessage here...");
    logfile.write(LogLevel::INFO, "Insert your logmessage here...");
    logfile.write(LogLevel::WARNING, "Insert your logmessage here...");
    logfile.write(LogLevel::ERROR, "Insert your logmessage here...");
    logfile.write(LogLevel::CRITICAL, "Insert your logmessage here...");
}

Example 2:

extern crate easylog;

use easylog::{LogFile, LogFileConfig, LogLevel};

fn main() {
    let mut custom_config = LogFileConfig::new();

    custom_config.max_size_in_mb = 2;
    custom_config.path = String::from("/path/to/logfile/");
    custom_config.name = String::from("my_logfile");
    custom_config.extension = String::from(".txt");
    custom_config.num_files_to_keep = 2;

    let logfile = match LogFile::new(custom_config) {
        Ok(file) => file,

        Err(error) => {
            panic!("Error: `{}`", error);
        }
    };
}

Example 3

extern crate easylog;

use easylog::{LogFile, LogFileConfig, LogLevel};

fn main() {
    let mut custom_config = LogFileConfig::new();

    custom_config.max_size_in_mb = 2;
    custom_config.path = String::from("/path/to/logfile/");
    custom_config.name = String::from("my_logfile");
    custom_config.extension = String::from(".txt");
    custom_config.overwrite = false;
    custom_config.num_files_to_keep = 1337; // has no effect, because overwrite is false

    let logfile = match LogFile::new(custom_config) {
        Ok(file) => file,

        Err(error) => {
            panic!("Error: `{}`", error);
        }
    };
}

Example Output:

$ cat ./logfile_0.log
2018-06-09 22:51:37.443883  [DEBUG   ]  Insert your logmessage here...
2018-06-09 22:51:37.443969  [INFO    ]  Insert your logmessage here...
2018-06-09 22:51:37.443996  [WARNING ]  Insert your logmessage here...
2018-06-09 22:51:37.444022  [ERROR   ]  Insert your logmessage here...
2018-06-09 22:51:37.444048  [CRITICAL]  Insert your logmessage here...

Dependencies

~1MB
~18K SLoC