教你快速入门:Python Logging 使用指南( 二 )
接着 , 我们创建两个日志处理器 , 分别用于 console 和 file 形式的输出 , 并设置各自的日志等级 。 这可以减少控制台输出的开销 , 转而在文件中输出 。 这方便了以后的调试 。
文章插图
对输出日志进行格式化Logging 不是只用来打印我们自己的信息的 。 有时候我们需要打印其他信息 , 例如时间、日志等级、进程 ID 。 因此我们需要对日志进行格式化 。 我们来看下面的代码 。
console_format = logging.Formatter('%(name)s - %(levelname)s - %(message)s')file_format = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')console_handler.setFormatter(console_format)file_handler.setFormatter(file_format)复制代码
添加 Handler 之前 , 我们可以像上面的代码那样设置日志输出的格式 。 可以用于设置日志格式的参数远不止这些 , 你可以访问(docs.python.org/3/library/l…
可重用的代码下面是我在许多应用程序中都用到的代码段 。 它可能会对你有所帮助 。
import logginglogger = logging.getLogger('Program Name-Version')logger.setLevel(logging.DEBUG)formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')consoleHeader = logging.StreamHandler()consoleHeader.setFormatter(formatter)consoleHeader.setLevel(logging.INFO)fileHandler = logging.FileHandler(f"{output}/metabcc-lr.log")fileHandler.setLevel(logging.DEBUG)fileHandler.setFormatter(formatter)logger.addHandler(fileHandler)logger.addHandler(consoleHeader)复制代码
Logging 与多线程有关的特征记住 , Logging 模块是线程安全的 。 所以除了极少数例外情况(不在本文讨论范围内)使用 Logging 不需要为多线程编写额外的处理逻辑 。
本文虽然短小、简单 , 但我也希望它对初级程序员有所帮助 。
最后多说一句 , 小编是一名python开发工程师 , 这里有我自己整理了一套最新的python系统学习教程 , 包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等 。 想要这些资料的可以关注小编 , 并私信“01”领取 。
- 数码|快速提升权重14天BD玩法
- 交易|什么时候买手机最便宜?内行人教你这样省钱
- 原创|别花冤枉钱,我教你怎么样给电脑装系统,安装版与Ghost都不难!
- 月亮|还不会用手机专业模式?我来教你!
- 航天|定价6998元却供不应求,18GB+1TB,三天后再度开售或将快速售罄
- 淘宝|深度解析淘宝商品展示的底层逻辑,以及如何快速打上精准人群标签
- AMD|AMD终于要推新入门级处理器了,看到具体信息,真为其捏一把汗
- 显卡|解读如何安全快速建立IT治理环境
- sip|全面围剿挖矿病毒,深信服解决您快速检测、轻量部署的燃眉之急
- 量度|从0开始教你做CRM「3」:如何构建客户画像?