2 个版本

0.1.1 2024年7月6日
0.1.0 2024年7月6日

#459调试

33 每月下载次数

MIT/Apache

355KB
5.5K SLoC

Rust 4.5K SLoC // 0.1% comments INI 770 SLoC // 0.7% comments

MDLOGGER

Rust 库:多设备日志记录器

此库crate实现了一个日志系统,能够在同一时间在不同设备上记录消息。
每个设备都由一个实现 LogHandler 特质的对象管理。
有 4 个预定义的日志处理器

  • 控制台
  • 滚动文件
  • 网络套接字(udp, tcp, multicat)
  • Unix 域套接字(udp, tcp Windows OS tcp 仅限)

这些预定义的日志处理器在 initialize 函数中注册。
您可以实现自己的处理器并在调用 initialize 函数之前将其注册[请参阅文档中的 register_log_handler_factory 函数]。
使用具有经典 .ini 语法的文本文件配置日志记录器

日志消息可以通过类别(可以打印在日志消息中的自由文本标签)和类型来识别,有 5 种消息类型

  1. 调试
  2. 信息
  3. 警告
  4. 严重
  5. 致命

MDLogger 可以接收外部命令以在运行时更改配置。

配置文件文档

外部命令文档

MDLOGGER 的工作原理

为了最大限度地减少多线程进程因日志消息而减慢,mdlogger 创建自己的日志线程,其中日志消息由配置文件创建的不同日志处理器处理。日志函数(及相关宏)所做的只是将消息插入队列,然后尽快将控制权释放给应用程序进程。队列中的消息将被日志线程取出,并将它们传递给每个日志处理器,该处理器将根据为该处理器选择的配置格式化它们,然后执行其日志功能

本软件受 [MIT OR Apache-2.0] 许可
https://mit-license.org/
http://apache.ac.cn/licenses/LICENSE-2.0

MSRV 1.76.0

历史

Rev. 0.1.0 首次发布
Rev. 0.1.1 修正配置文档

依赖项

~4–13MB
~150K SLoC