Rust 日志库 tklog 0.2.9 — 支持混合时间文件大小备份模式

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

v0.2.9 更新内容

  • 该版本主要实现支持 按时间与文件大小混合模式切割日志文件

两者方式可以设置

  • 通过 set_cutmode_by_mixed  设置
  • 通过 set_option  设置
  • 测试程序地址:  test_0_2_9.rs

 

一. 调用 .set_cutmode_by_mixed() 函数,参数:

  1. 文件路径  
  2. 指定文件滚动大小
  3. 时间模式
  4. 最大备份日志文件数
  5. 是否压缩备份的日志文件
#[test]
fn testlog() {
    LOG.set_cutmode_by_mixed("tklogs.log", 1 << 15,tklog::MODE::HOUR, 10, false);
    
    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))
}

 

二. 调用 .set_option() 函数

#[test]
fn testlog2() {
    let mut lo = tklog::LogOption::new();
    lo.set_fileoption(tklog::handle::FileMixedMode::new("tklogs.log", 1 << 15,tklog::MODE::DAY, 10, false));
    LOG.set_option(lo);

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

 

日志文件切分的结果:

  • 按天与大小混合备份日期文件,如:
    • tklogs_20240521_1.log
    • tklogs_20240521_2.log
    • tklogs_20240521_3.log
    • tklogs_20240521_4.log
    • tklogs_20240522_1.log
    • tklogs_20240522_2.log
    • tklogs_20240522_3.log
    • tklogs_20240522_4.log
  • 按小时与大小混合备份日志文件,如:
    • tklogs_2024052110_1.log
    • tklogs_2024052110_2.log
    • tklogs_2024052110_3.log
    • tklogs_2024052211_1.log
    • tklogs_2024052211_2.log
    • tklogs_2024052211_3.log
  • 按月份与大小混合备份日志文件,如:
    • tklogs_202403_1.log
    • tklogs_202403_2.log
    • tklogs_202403_3.log
    • tklogs_202404_1.log
    • tklogs_202404_2.log
    • tklogs_202404_3.log
优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/327159/tklog-0-2-9-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。