4 个版本

0.1.3 2023年7月21日
0.1.2 2023年3月22日
0.1.1 2023年2月21日
0.1.0 2023年2月15日

#2611 in 解析器实现

MIT 协议

14KB
280

全功能日志记录器

为 Rust 提供易于使用的日志记录器

功能

  • 支持多种文件格式的日志系统。
  • 控制台日志
  • 在日志时可以使用消息框(使用 fltk

格式

INI

完全支持

示例

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

TOML

完全支持

示例

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

CSV

完全支持

示例

2023-02-21 19:00:17.771215200 +01:00;error;Test;
2023-02-21 19:00:17.777826800 +01:00;error;RESULT_OK_"Test";

入门指南

  1. 管理日志文件
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. 设置文件格式
// Do not need other code
set_file_format(FileFormat::CSV);
  1. 日志时间
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. 享受

以下是调用 log(file, path, message); 的日志结果

2023-02-21 19:00:17.771215200 +01:00;error;debug;Test;

依赖项

~17MB
~363K SLoC