tklog 0.2.3 — Rust 高性能日志库,日志标识格式自定义设置


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

v0.2.3 版本更新

新增支持对日志属性标识进行格式化设置,如: [DEBUG] [INFO][WARN][ERROR][FATAL]标识,时间格式化标识

通过 set_attr_format 函数设置日志标识与时间格式

示例1:同步日志打印

fn testlog() {
tklog::LOG.set_attr_format(|fmt| {
fmt.set_level_fmt(|level| {
match level {
LEVEL::Trace => "[T]",
LEVEL::Debug => "[D]",
LEVEL::Info => "[I]",
LEVEL::Warn => "[W]",
LEVEL::Error => "[E]",
LEVEL::Fatal => "[F]",
LEVEL::Off => "",
}.to_string()
});

fmt.set_time_fmt(|| {
let now: DateTime<Local> = Local::now();
(now.format("%Y/%m/%d").to_string(), now.format("%H:%M:%S").to_string(), "".to_string())
});

});

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(1))
}

执行结果:

[D] 2024/10/17 19:41:20 test_0230.rs 32:debug!this is sync log
[I] 2024/10/17 19:41:20 test_0230.rs 33:info!this is sync log
[W] 2024/10/17 19:41:20 test_0230.rs 34:warn!this is sync log
[E] 2024/10/17 19:41:20 test_0230.rs 35:error!this is sync log
[F] 2024/10/17 19:41:20 test_0230.rs 36:fata!this is sync log

示例2:异步日志打印

#[tokio::test]
async fn asynctestlog() {
ASYNC_LOG.set_attr_format(|fmt| {
fmt.set_level_fmt(|level| {
match level {
LEVEL::Trace => "[AT]",
LEVEL::Debug => "[AD]",
LEVEL::Info => "[AI]",
LEVEL::Warn => "[AW]",
LEVEL::Error => "[AE]",
LEVEL::Fatal => "[AF]",
LEVEL::Off => "",
}
.to_string()
});
});

async_trace!("trace!", "this is async log");
async_debug!("debug!", "this is async log");
async_info!("info!", "this is async log");
async_warn!("warn!", "this is async log");
async_error!("error!", "this is async log");
async_fatal!("fata!", "this is async log");
tokio::time::sleep(tokio::time::Duration::from_secs(3)).await;
}

相關推薦

2024-08-27

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

2024-05-29

如果是格式化日志输出,则为4µs/op以上。(可以参考《 高性能日志库go-logger v2.0.3》中对各日志库的压测数据)。 在异步场景中,tklog提供了对应的方法,支持异步调用。异步方法最大的好处并非在性能上,而是它不会阻塞所在

2024-10-23

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

2024-06-22

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

2024-10-01

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

2024-06-04

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

2024-10-31

go-logger 是一个高性能的golang日志库,旨在提供快速、轻量级的日志记录功能 Github 使用文档 v0.27.0 更新内容 优化内存分配 优化写数据性能 增加日志属性自定义函数 增加各个日志级别格式化打印函数 说明 性能

2024-08-10

果分析 日志记录库和方法: Zap:这是一个uber开发的高性能日志库。 Logger:go-logger日志库。 Native Go Log: Go 内置的 log 包。 Slog:这是 Go 1.19 引入的新标准日志库。 Slog 和 Logger 结合:指同时使用go-logger作为slog

2025-04-16

示现在还包括 id,它为事件提供了一个唯一的标识符。 日志支持 ECS 格式 所有可用的日志处理程序现在都支持 ECS(Elastic Common Schema)JSON 格式。它有助于改善 Keycloak 的可观察性和集中式日志记录。 为 X.509 身份验证器加载的 C

2024-08-27

构不同阅读障碍大 Web容器 采用 Undertow 基于 XNIO 的高性能容器 采用 Tomcat 权限认证 采用 Sa-Token、Jwt 静态使用功能齐全 低耦合 高扩展 Spring Security 配置繁琐扩展性极差 权限注解 采用 Sa-Token 支持注解 登录校

2024-08-27

内使用方式怪异等 Web容器 采用 Undertow 基于 XNIO 的高性能容器 采用 Tomcat 权限认证 采用 Sa-Token、Jwt 静态使用功能齐全 低耦合 高扩展 Spring Security 配置繁琐扩展性极差 权限注解 采用 Sa-Token 支持注解 登录校

2025-04-12

更快捷 支持saas化,减少重复部署,提高生产效率 审计日志支持字段级别变更记录,安全可靠可查 自动识别攻击ip自动屏蔽策略可设置,提高系统安全性 功能 系统功能 功能 描述 用户管理 用户是系统操作

2024-10-09

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

2024-09-24

企业级信息化系统,是企业数字化转型的必备工具 更新日志 v3.0.4(2024-04-29) Features PC骨架项目(前端): 新增env变量,支持配置主题变量文件和自定义引用别名 PC组件库(前端): 增加启用访问时长日志变量TIMELONG_LOG_ENABLE