6 releases
| 0.1.5 | Aug 6, 2025 |
|---|---|
| 0.1.4 | Jun 3, 2025 |
| 0.1.3 | Jul 21, 2023 |
| 0.1.2 | Mar 22, 2023 |
| 0.1.1 | Feb 21, 2023 |
#1979 in Parser implementations
23KB
411 lines
Full Logger
Easy to use logger for Rust
Features
- Support few file formats.
- Console log.
- Message box using fltk.
- Support logs of Result and Option.
Formats
INI
Example
[error]
Y2023_M2_D21_H18_M59_S27_ML1677002367767 = Test
Y2023_M2_D21_H18_M59_S27_ML1677002367775 = RESULT_OK_"Test"
CSV
Example
2023-02-21 19:00:17.771215200 +01:00;error;Test;
2023-02-21 19:00:17.777826800 +01:00;error;RESULT_OK_"Test";
Getting-Started
- Manage Log Files
let working_dir = String::from("log");
let max_file_size = FileSize::Mo(100);
let file_manager = FileManager::new(working_dir, max_file_size);
// Get file path to a file under max_file_size (create one if necessary)
let file = file_manager.get_file_path();
// Allow console printing
set_allow_console_log(true);
// Setup simple logs
set_or_create_global_log_file(file.as_str());
- Set the file format
set_file_format(FileFormat::CSV);
- Time to Log
let path = vec!["error", "debug"];
let message = "Test";
let mut error = Result::<i32, i32>::Ok(12);
log(file, path, message);
error = log_result(file, path, error);
// Or you can use the simple way (must have defined a global file before)
simple_log(log, path, message);
error = simple_log_result(log, path, error);
- Enjoy
Here it's the result of a log calling log(file, path, message);
2023-02-21 19:00:17.771215200 +01:00;error;debug;Test;
Dependencies
~1–16MB
~143K SLoC