写点什么

文盘 Rust -- 给程序加个日志

  • 2022 年 7 月 11 日
  • 本文字数:625 字

    阅读完需:约 2 分钟

作者: jiashiwen 原文来源:https://tidb.net/blog/b6be577d


notice”Rust is a trademark of the Mozilla Foundation in the US and other countries.”



日志是应用程序的重要组成部分。无论是服务端程序还是客户端程序都需要日志做为错误输出或者业务记录。在这篇文章中,我们结合log4rs 聊聊 rust 程序中如何使用日志。log4rs 类似 java 生态中的 log4j, 使用方式也很相似

log4rs 中的基本概念

log4rs 的功能组件也由 appender 和 logger 构成。


  • appender 负责向指定文件或控制台追加日志

  • logger 包含多个 appender ,比如一条日志既要输出到控制台也要持久化到日志文件中,就可以在 logger 中同时绑定 ConsoleAppender 和 FileAppender

log4rs 使用示例

  • 示例描述我们需要在工程中记录系统日志和业务日志,分别记录在 logs/sys.log 和 logs/business.log

  • 定义 appender 和 logger 并初始化代码位置 src/logger/logger.rs


代码中定义了 sys_file 和 business_file 两个 FileAppender 分别用于像 sys.log 和 business.log 中追加日志。config 中定义了两个 logger 分别绑定 sys appender 和 business appender。最后通过 init_config 初始化 log4rs。


  • 在程序中输出日志

  • 定义 uselog 命令及两个子命令,分别输入 sys 日志和 business 日志。代码位置 src/cmd/cmdusedifflogger.rs

  • 解析命令并输出日志代码位置 src/cmd/rootcmd.rs

  • 输出时,通过 target 来区分输出到不同的 logger。


本文代码的 github 地址:https://github.com/jiashiwen/interactcli-rs


下期见


发布于: 刚刚阅读数: 2
用户头像

TiDB 社区官网:https://tidb.net/ 2021.12.15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
文盘Rust -- 给程序加个日志_开发语言_TiDB 社区干货传送门_InfoQ写作社区