Skip to content

LarsSalembier/ultimateLogger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UltimateLogger

Ultimate Logger is a simple logger than can log to a file and/or stdout. It is designed to be simple to use and to be able to be used in any project. It uses colored output to make it easier to read when logging to stdout.

It has 6 levels of logging: trace, debug, info, warn, error and critical. It has a log function that can be used to log any level of logging. It also has shortcut trace, debug, info, warn, error and critical functions to log at those levels.

Multiple loggers with different names can be made. Each logger can have its own level of logging. The default logger has a level of trace. The default logger can be accessed with the Logger::new_default() function. Other loggers can be made with the Logger::new() function.

Examples

Write to the console

use ultimate_logger::Logger;
use ultimate_logger::log_level::LogLevel;

let mut logger = Logger::new(String::from("example"), LogLevel::Trace);

logger.trace("This is a trace message");
logger.debug("This is a debug message");
logger.info("This is an info message");
logger.warning("This is a warning message");
logger.error("This is an error message");
logger.critical("This is a critical message");

This will output the following to the console with appropriate colors:

[2020-05-01 12:00:00.000] [example] [trace] This is a trace message
[2020-05-01 12:00:00.000] [example] [debug] This is a debug message
[2020-05-01 12:00:00.000] [example] [info] This is an info message
[2020-05-01 12:00:00.000] [example] [warning] This is a warning message
[2020-05-01 12:00:00.000] [example] [error] This is an error message
[2020-05-01 12:00:00.000] [example] [critical] This is a critical message

Write to a file

use ultimate_logger::Logger;
use ultimate_logger::log_level::LogLevel;

let mut logger = Logger::new_to_file(String::from("example"), LogLevel::Trace, String::from("log.txt"), true);

logger.trace("This is a trace message");
logger.debug("This is a debug message");
logger.info("This is an info message");
logger.warning("This is a warning message");
logger.error("This is an error message");
logger.critical("This is a critical message");

Below is the text which will output to the file log.txt, and to the console. The console output will be colored.

[2020-05-01 12:00:00.000] [example] [trace] This is a trace message
[2020-05-01 12:00:00.000] [example] [debug] This is a debug message
[2020-05-01 12:00:00.000] [example] [info] This is an info message
[2020-05-01 12:00:00.000] [example] [warning] This is a warning message
[2020-05-01 12:00:00.000] [example] [error] This is an error message
[2020-05-01 12:00:00.000] [example] [critical] This is a critical message

Features

  • Write to a file
  • Write to the console
  • Write to both
  • Set a minimum log level
  • Colored output
  • Timestamps
  • Multiple loggers with different names

Documentation

Documentation

Crates.io

Crates.io

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages