Skip to content

Thread-safe logging tool with dynamic log level configuration.

License

Notifications You must be signed in to change notification settings

durpyneko/loggy-neko

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

loggy-banner
Simple thread-safe logging tool with dynamic log level configuration.

Logging works in an hierarchy from Info > Warn > Error. If the log level is set to one of these only self and lower would log. Example:

LogLevel::Info = Info, Warn, Error
LogLevel::Warn = Warn, Error
LogLevel::Error = Error

You can also use both info/warn/error() and log(LogLevel::Level, message) for logging depending on your preference

Quickstart

use loggy_neko::{LogLevel, LOGGER};

#[macro_use]
extern crate loggy_neko;

fn main() {
    info!("Hello World!");
}

Example usage

use loggy_neko::{LogLevel, LOGGER};

#[macro_use]
extern crate loggy_neko;

#[derive(Debug)]
struct TestVec {
    array: Vec<String>,
}

fn main() {
    // * Standard use

    LOGGER.set_log_level(LogLevel::Error);

    LOGGER.info("Info message that wont display!");

    LOGGER.set_log_level(LogLevel::Info);

    LOGGER.info("LogLevel set to Info!");
    LOGGER.warn("Warn message!");

    // * Or using macros

    info!("Info message using macro");

    LOGGER.set_log_level(LogLevel::Error);
    LOGGER.info("LogLevel set to Error!");

    warn!("Warn using macro that wont display!");
    error!("Error using macro");

    LOGGER.set_log_level(LogLevel::Info);
    LOGGER.info("LogLevel set to Info!");

    info!("Hello World!");

    let test_vec = TestVec {
        array: vec!["Hello".to_string(), "World!".to_string()],
    };

    info!(dbg!(format!("{:?}", test_vec).as_str()));
    warn!("Whoops!");
    info!("Hello World!");
}

Outputs:

log preview screenshot

Roadmap

  • More configs: Time style, custom colors and which items to display

  • Display which function ran and at which line.

About

Thread-safe logging tool with dynamic log level configuration.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages