Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
python中如何配置Logging处理器_创想鸟

python中如何配置Logging处理器

首先使用basicConfig快速配置日志,或手动创建Logger、Handler、Formatter实现灵活控制;通过FileHandler、StreamHandler等设置输出目标与级别,避免重复日志需检查addHandler调用及propagate设置。

python中如何配置logging处理器

在Python中配置Logging处理器,关键是通过logging模块设置日志记录方式。你可以使用基础配置快速上手,也可以手动创建Logger、Handler、Formatter来实现更灵活的控制。

使用basicConfig快速配置

对于简单项目,可以直接用logging.basicConfig()设置默认的日志行为:

指定日志级别:比如DEBUG、INFO、WARNING等选择输出目标:可以是控制台或文件定义格式:包括时间、日志级别、消息内容等

示例:

import logging

logging.basicConfig(level=logging.INFO,format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',handlers=[logging.FileHandler("app.log"),logging.StreamHandler() # 输出到控制台])

logger = logging.getLogger(name)logger.info("这是一条信息日志")

手动添加处理器(Handler)

当需要更精细控制时,建议手动创建Logger并绑定多个处理器。每个处理器可独立设定输出位置和日志级别。

立即学习“Python免费学习笔记(深入)”;

FileHandler:写入文件StreamHandler:输出到终端RotatingFileHandler:按大小轮转日志文件TimedRotatingFileHandler:按时间轮转

示例:同时输出到文件和控制台,并区分级别

import loggingfrom logging.handlers import RotatingFileHandler

创建Logger

logger = logging.getLogger("my_app")logger.setLevel(logging.DEBUG)

创建Formatter

formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')

文件处理器(仅ERROR以上)

file_handler = RotatingFileHandler("error.log", maxBytes=1024*1024, backupCount=3)file_handler.setLevel(logging.ERROR)file_handler.setFormatter(formatter)

控制台处理器(INFO及以上)

console_handler = logging.StreamHandler()console_handler.setLevel(logging.INFO)console_handler.setFormatter(formatter)

添加处理器

logger.addHandler(file_handler)logger.addHandler(console_handler)

使用

logger.info("程序启动")logger.error("发生错误")

避免重复日志输出

如果发现日志重复打印,通常是因为Logger和Handler都启用了传播(propagate),或者多次添加了同一个Handler。

确保不要重复调用addHandler子Logger可通过设置propagate=False阻止向上传递检查是否在循环或导入中反复配置

基本上就这些。根据项目复杂度选择合适的方式,小项目用basicConfig,大项目推荐手动管理Logger和Handler。

以上就是python中如何配置Logging处理器的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1381847.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Docker环境下Airflow与PostgreSQL连接故障排查与配置指南
上一篇 2025年12月14日 23:23:42
Python IDE之Thonny的介绍
下一篇 2025年12月14日 23:24:00

相关推荐

发表回复

登录后才能评论
关注微信