Rust 日志库 tklog 0.3.0 发布


tklog是rust高性能结构化日志库,支持同步日志,异步日志,支持自定义日志的输出格式,支持按时间,按文件大小分割日志文件,支持日志文件压缩备份,支持官方日志库标准API,支持mod独立参数设置,支持日志level独立参数设置
  1. 简介
  2. Github地址
  3. 仓库地址
  4. 《rust日志库性能压测 — log4rs + tracing + tklog》
  5. 《记录tklog压测结果》

v0.3.0 更新内容

该版本主要修复参数Formatter的bug。通过Formatter参数,可以构建json输出格式,可以参数示例 test_0_3_0

示例1

#[test]
fn testlog() {
LOG.set_cutmode_by_mixed("030test.log", 1 << 15, tklog::MODE::HOUR, 10, false);
LOG.set_formatter("{\"level\":\"{level}\",\"time\":\"{time}\",\"file\":\"{file}\",\"message\":\"{message}\"}\n").set_console(true);
trace!("trace!", "this is sync log");
debug!("debug!", "this is sync log");
info!("info!", "this is sync log");
warn!("warn!", "this is sync log");
error!("error!", "this is sync log");
fatal!("fata!", "this is sync log");
thread::sleep(Duration::from_secs(3))
}

输出:

{"level":"[DEBUG]","time":"2025-07-28 11:09:09","file":"test_0_3_0.rs 11","message":"debug!this is sync log"}
{"level":"[INFO]","time":"2025-07-28 11:09:09","file":"test_0_3_0.rs 12","message":"info!this is sync log"}
{"level":"[WARN]","time":"2025-07-28 11:09:09","file":"test_0_3_0.rs 13","message":"warn!this is sync log"}
{"level":"[ERROR]","time":"2025-07-28 11:09:09","file":"test_0_3_0.rs 14","message":"error!this is sync log"}
{"level":"[FATAL]","time":"2025-07-28 11:09:09","file":"test_0_3_0.rs 15","message":"fata!this is sync log"}

示例2 修改json的参数

#[test]
fn testlog2() {
LOG.set_attr_format(|fmt| {
fmt.set_level_fmt(|level| {
match level {
LEVEL::Trace => "trace",
LEVEL::Debug => "debug",
LEVEL::Info => "info",
LEVEL::Warn => "warn",
LEVEL::Error => "error",
LEVEL::Fatal => "fatal",
LEVEL::Off => "",
}
.to_string()
});

fmt.set_time_fmt(|| {
let now: DateTime<Local> = Local::now();
("".to_string(), "".to_string(), now.format("%Y%m%d %H:%M:%S").to_string())
});
});
LOG.set_formatter("{\"level\":\"{level}\",\"time\":\"{time}\",\"file\":\"{file}\",\"message\":\"{message}\"}\n").set_console(true).set_level(LEVEL::Trace);
trace!("trace!", "this is sync log");
debug!("debug!", "this is sync log");
info!("info!", "this is sync log");
warn!("warn!", "this is sync log");
error!("error!", "this is sync log");
fatal!("fata!", "this is sync log");
thread::sleep(Duration::from_secs(3))
}

输出

{"level":"trace","time":"20250728 11:10:13","file":"test_0_3_0.rs 41","message":"trace!this is sync log"}
{"level":"debug","time":"20250728 11:10:13","file":"test_0_3_0.rs 42","message":"debug!this is sync log"}
{"level":"info","time":"20250728 11:10:13","file":"test_0_3_0.rs 43","message":"info!this is sync log"}
{"level":"warn","time":"20250728 11:10:13","file":"test_0_3_0.rs 44","message":"warn!this is sync log"}
{"level":"error","time":"20250728 11:10:13","file":"test_0_3_0.rs 45","message":"error!this is sync log"}
{"level":"fatal","time":"20250728 11:10:13","file":"test_0_3_0.rs 46","message":"fata!this is sync log"}

相關推薦

2024-06-04

tklog是rust高性能结构化日志库,支持同步日志,异步日志,支持自定义日志的输出格式,支持按时间,按文件大小分割日志文件,支持日志文件压缩备份,支持官方日志库标准API tklog 0.0.3版本主要更新 tklog实现了官方Log接

2024-10-01

tklog是rust高性能结构化日志库,支持同步日志,异步日志,支持自定义日志的输出格式,支持按时间,按文件大小分割日志文件,支持日志文件压缩备份,支持官方日志库标准API,支持mod独立参数设置,支持日志level独立参数

2024-08-27

tklog是rust高性能结构化日志库 易用,高效,结构化,控制台日志,文件日志,文件切割,文件压缩,同步打印,异步打印 功能 功能支持:控制台日志,文件日志,同步日志,异步日志 日志级别设置:提供与标准库同级

2024-06-22

tklog是rust高性能结构化日志库,支持同步日志,异步日志,支持自定义日志的输出格式,支持按时间,按文件大小分割日志文件,支持日志文件压缩备份,支持官方日志库标准API,支持mod独立参数设置 tklog相关信息 官网

2024-10-23

tklog是rust高性能结构化日志库,支持同步日志,异步日志,支持自定义日志的输出格式,支持按时间,按文件大小分割日志文件,支持日志文件压缩备份,支持官方日志库标准API,支持mod独立参数设置,支持日志level独立参数

2024-10-19

tklog是rust高性能结构化日志库,支持同步日志,异步日志,支持自定义日志的输出格式,支持按时间,按文件大小分割日志文件,支持日志文件压缩备份,支持官方日志库标准API,支持mod独立参数设置,支持日志level独立参数

2024-05-29

库的简单易用;在使用rust时,可能感觉比较麻烦,类似日志库这样的基础性工具库。tklog提供用法上,非常类似python等Logger的日志库用法,用法简洁;基于rust的高效性和一些优化策略,tklog的性能非常好,在压测中,可以达到 3-

2024-10-09

本地主机:在生产应用程序中使用本地主机服务器。 日志记录:可配置的日志记录。 NFC:在 Android 和 iOS 上读取和写入 NFC 标签。 通知:向用户发送原生通知。 操作系统信息:读取操作系统信息。 持久作用域:

2023-06-28

染 SVG 的支持。 有关所有更改的完整列表,请查看更改日志。 更宽松的许可证 除了 GPLv3 和专有商业许可,此版本添加了新的免版税许可作为第三个选项,该许可证可免费用于构建桌面或 Web 应用程序,并消除了 Copyleft

2023-04-18

码库,而不是拒绝由于之前存在的代码库。 增加了跟踪日志中的调试输出。 不完全下载:在下载完成之前使用临时目录,从而避免部分下载问题。 诊断 归档不再提供生命周期事件作为数据源,仅提供“检查”和“日志

2024-08-12

,其它应用配置更新后,无中断式的优雅重启程序 访问日志的模板化配置,已支30多个相关属性的配置,可按需指定输出各种参数与指标 WEB形式的管理后台界面,无需学习,简单易用 开箱即用的let's encrypttls证书,仅需配置

2023-04-29

,微软 Azure 首席技术官 Mark Russinovich 还曾在社交平台上发布动态呼吁,开发人员应该更多的使用 Rust 而不是 C/C++ 来启动新项目。 另一方面,虽然用 Rust 重写 Windows 不会很快发生,但微软对 Rust 的支持或使开源社区受益。开

2025-07-23

ian 开发者大会上,Fabian Grünbichler 谈到了 Debian Linux 中的 Rust packaging问题。并分享了一个有趣的统计数据,即 Rust 在 Debian 和整个开源生态系统中的应用正在不断增长。 Fabian 指出,Debian Sid 中大约 8% 的源码包至少基于一个 librust

2023-07-15

Rust 1.71.0 稳定版已发布。 重要变化 C-unwindABI 正式稳定(同时包括其他-unwind后缀的 ABI 变体1):该特性对于跨 ABI 边界时,异常处理的行为更安全 调试器增加可视化属性#[debug_visualizer(natvis_file = "...")]和#[debug_visualizer(gdb_scrip