full_logger

Easy to use Log library

4 releases

0.1.3 Jul 21, 2023
0.1.2 Mar 22, 2023
0.1.1 Feb 21, 2023
0.1.0 Feb 15, 2023

26 downloads per month

MIT license

14KB
280 lines

Full Logger

Easy to use logger for Rust

Features

  • Log system for multiple file formats.
  • Log in the console
  • Can use message box when log (use fltk)

Formats

INI

Full support

Example

[error]
Y2023_M2_D21_H18_M59_S27_ML1677002367767 = Test
Y2023_M2_D21_H18_M59_S27_ML1677002367775 = RESULT_OK_"Test"

TOML

Full support

Example

[error]
Y2023_M2_D21_H18_M57_S50_ML1677002270145 = "Test"
Y2023_M2_D21_H18_M57_S50_ML1677002270150 = "RESULT_OK_\"Test\""

CSV

Full support

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

  1. Manage Log Files
let working_dir = String::from("log");
let max_file_size = FileSize::Mo(100);
let file_manager = FileManager::new(String::from("log"), 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("log", FileSize::Mo(100));

// Add a message box when the log is an error.
set_message_box_trigger("error");
  1. Set the file format
// Do not need other code
set_file_format(FileFormat::CSV);
  1. 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);
  1. 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

~17MB
~367K SLoC