文盘 Rust -- 给程序加个日志
作者: 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
下期见
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/d8d0ebda7f7dc8203cbb4931b】。文章转载请联系作者。
评论