Rust 日志库 tklog v0.1.0:支持设置日志级别独立日志格式输出


tklog是rust高性能结构化日志库

易用,高效,结构化,控制台日志,文件日志,文件切割,文件压缩,同步打印,异步打印


功能

  • 功能支持:控制台日志,文件日志,同步日志,异步日志
  • 日志级别设置:提供与标准库同级别日志打印: trace,debug,info,warn,error,fatal
  • 格式化输出:支持自定义日志的输出格式,包括日志级别标识、格式化时间、日志文件位置 等元素,并支持自定义格式调整。
  • 按时间文件切割:按小时,天,月份切割日志文件
  • 按大小文件切割:按指定大小切割日志文件
  • 文件数回滚:指定最大备份文件数,支持自动删除旧日志文件,并防止日志文件数过多。
  • 文件压缩:支持压缩归档备份日志文件。
  • 支持官方日志库标准API
  • 支持按模块设置独立日志参数
  • 支持自定义日志处理函数的功能

  1. 项目地址
  2. 《tklog与log4rs 的基准测试》

v0.1.0 版本更新

tklog 支持日志级别设置独立日志格式参数

tklog 通过 set_level_option() 设置日志级别的独立日志参数

示例

#[test]
fn testlog() {
//将Info级别的日志格式设置为 Format::LevelFlag
//将Fatal级别的日志格式设置为 Format::LevelFlag | Format::Date
LOG.set_level_option(LEVEL::Info, LevelOption { format: Some(Format::LevelFlag), formatter: None })
.set_level_option(LEVEL::Fatal, LevelOption { format: Some(Format::LevelFlag | Format::Date), formatter: None});

trace!("this is trace log");
debug!("this is debug log");
info!("this is info log");
warn!("this is warn log");
error!("this is error log");
fatal!("this is fatal log");
thread::sleep(Duration::from_secs(1))
}

执行结果

---- testlog stdout ----
[DEBUG] 2024-08-24 15:06:02 test_0100.rs 17:this is debug log
[INFO] this is info log
[WARN] 2024-08-24 15:06:02 test_0100.rs 19:this is warn log
[ERROR] 2024-08-24 15:06:02 test_0100.rs 20:this is error log
[FATAL] 2024-08-24 this is fatal log

tklog是rust高性能结构化日志库 [English]

易用,高效,结构化,控制台日志,文件日志,文件切割,文件压缩,同步打印,异步打印


功能

  • 功能支持:控制台日志,文件日志,同步日志,异步日志
  • 日志级别设置:提供与标准库同级别日志打印: trace,debug,info,warn,error,fatal
  • 格式化输出:支持自定义日志的输出格式,包括日志级别标识、格式化时间、日志文件位置 等元素,并支持自定义格式调整。
  • 按时间文件切割:按小时,天,月份切割日志文件
  • 按大小文件切割:按指定大小切割日志文件
  • 文件数回滚:指定最大备份文件数,支持自动删除旧日志文件,并防止日志文件数过多。
  • 文件压缩:支持压缩归档备份日志文件。
  • 支持官方日志库标准API
  • 支持按模块设置独立日志参数
  • 支持自定义日志处理函数的功能

使用方法简述

项目引入

[dependencies]
tklog = "0.1.0" # "0.x.x" 当前版本

示例

use tklog::{trace,debug, error, fatal, info,warn}
fn testlog() {
trace!("trace>>>>", "aaaaaaaaa", 1, 2, 3, 4);
debug!("debug>>>>", "bbbbbbbbb", 1, 2, 3, 5);
info!("info>>>>", "ccccccccc", 1, 2, 3, 5);
warn!("warn>>>>", "dddddddddd", 1, 2, 3, 6);
error!("error>>>>", "eeeeeeee", 1, 2, 3, 7);
fatal!("fatal>>>>", "ffffffff", 1, 2, 3, 8);
}

打印结果:

[TRACE] 2024-05-26 11:47:22 testlog.rs 27:trace>>>>,aaaaaaaaa,1,2,3,4
[DEBUG] 2024-05-26 11:47:22 testlog.rs 28:debug>>>>,bbbbbbbbb,1,2,3,5
[INFO] 2024-05-26 11:47:22 testlog.rs 29:info>>>>,ccccccccc,1,2,3,5
[WARN] 2024-05-26 11:47:22 testlog.rs 30:warn>>>>,dddddddddd,1,2,3,6
[ERROR] 2024-05-26 11:47:22 testlog.rs 31:error>>>>,eeeeeeee,1,2,3,7
[FATAL] 2024-05-26 11:47:22 testlog.rs 32:fatal>>>>,ffffffff,1,2,3,8

相關推薦

2024-06-22

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

2024-05-29

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

2024-06-04

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

2024-08-10

go-logger  是一个轻量级的日志库,提供了灵活的日志记录功能,方便在应用程序中实现不同级别的日志输出. 特点: 简单易用:go-logger 提供了一个简单直观的 API,使得开发者能够快速上手并集成到现有项目中。

2022-07-05

过程。在SpringBoot应用运行过程中,还可以通过Wooca来进行日志、CPU、内存、IO、网络吞吐等多方面的性能指标监控,及时的了解SpringBoot应用的运行状态。Wooca解放了开发人员对Shell/Cmd窗口的依赖,更加集成化的将SpringBoot/Cloud应用

2023-05-15

go-logger 是golang 的极简日志库 日志打印:调用 Debug(),Info(),Warn(), Error() ,Fatal() 日志级别由低到高 级别概念 功能用法类似java日志工具log4j 或 python的logging 设置日志打印格式: 如: SetFormat(FORMAT_SHORTFILENAME|FORMAT_DATE|FORMA

2022-10-07

档:https://dotnetchina.gitee.io/furion 本期亮点 1. 支持各种日志输出介质 JSON 化 // 控制台 services.AddConsoleFormatter(options => { options.MessageFormat = LoggerFormatter.Json; }); // 文件 services.AddFileLogging("mytemplate.log", options => { options.MessageForm

2023-07-09

,感受不一样的文件资源配置及管理模式; 整合多种日志系统(Log4j、JCL、Slf4j 等)、日志文件可分离存储; 轻量级持久化层封装,针对 RDBMS(MySQL、SQL Server、Oracle、PostgreSQL)和 NoSQL(MongoDB、Redis)提供支持; 完善的

2022-12-03

at(下简称APIcat)是一款基于OpenAPI定义文档对nginx/阿里云日志进行分析的开源工具,和原有网络日志分析工具多从底层或常见漏洞匹配的扫描逻辑不同,得益于OpenAPI定义文档的加入,对日志分析可以深入到应用逻辑层面。 APIcat

2023-10-09

github地址:https://github.com/donnie4w/go-logger  go的结构化日志库非常多,go-logger是比较早期开发的一个库, 以简洁为主要特征。simplelog是后期给数据库binlog日志开发的一个日志库,由于功能与go-logger有重合,就把两个库的代码

2022-09-29

逐步将过去所有模块重新优化乃至重构。本次版本主要对日志功能,特别是控制台日志进行改进优化,支持更简易的方式配置模板、配置格式化,支持日志级别、日志类别、异常日记着色。 项目信息 Gitee:https://gitee.com/dotn

2023-02-13

付费下载,付费阅读,付费观看视频。 v0.1.0-release 版本日志: 升级到springboot 2.7.7 增加spring security auth2接入第三方授权登录 修复开发环境模板目录错误导致启动失败的问题 修复开发环境单元测试模板目录错误导致启动

2024-07-16

Issue #1605:支持在 SQLite 上删除表索引 Issue #1965:在底部日志面板中显示自定义查询的警告,警告发生时显示,而不是在批处理的最后显示 Issue #1428:每次结果查询后调试查询时间和网络时间的日志记录 Issue #1972:在 MySQL 和

2022-11-04

构升级与受益 支持单机分布式一体化架构,包含自适应日志流、支持超大事务、RTO 时间降低到 8s 以内、NTP 服务依赖优化、支持分区数量能力上限等版本基础核心能力构建。 内核能力增强 Online DDL 能力增强,支持租户级备份