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

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 支持注解 登录校

2024-10-09

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

2024-09-24

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

2024-06-22

可配置等能力。 IPC支持异步消息发送方信息、并提供高性能读写共享内存的JS北向接口能力。 IPC_Core和IPC_Single公共部分解耦,持续优化内存使用。 分布式数据管理 Preferences支持可序列化为JSON的Object类型,及基于key

2023-05-15

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