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 Logger;
use LogLevel;
let mut logger = new;
logger.trace;
logger.debug;
logger.info;
logger.warning;
logger.error;
logger.critical;
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 Logger;
use LogLevel;
let mut logger = new_to_file;
logger.trace;
logger.debug;
logger.info;
logger.warning;
logger.error;
logger.critical;
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
Crates.io
License
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.