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

在Python中配置Logging处理器,关键是通过logging模块设置日志记录方式。你可以使用基础配置快速上手,也可以手动创建Logger、Handler、Formatter来实现更灵活的控制。
对于简单项目,可以直接用logging.basicConfig()设置默认的日志行为:
示例:
import logging
<p>logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler("app.log"),
logging.StreamHandler() # 输出到控制台
]
)</p><p>logger = logging.getLogger(<strong>name</strong>)
logger.info("这是一条信息日志")
当需要更精细控制时,建议手动创建Logger并绑定多个处理器。每个处理器可独立设定输出位置和日志级别。
立即学习“Python免费学习笔记(深入)”;
如果您是新用户,请直接将本程序的所有文件上传在任一文件夹下,Rewrite 目录下放置了伪静态规则和筛选器,可将规则添加进IIS,即可正常使用,不用进行任何设置;(可修改图片等)默认的管理员用户名、密码和验证码都是:yeesen系统默认关闭,请上传后登陆后台点击“核心管理”里操作如下:进入“配置管理”中的&ld
0
示例:同时输出到文件和控制台,并区分级别
import logging
from logging.handlers import RotatingFileHandler
<h1>创建Logger</h1><p>logger = logging.getLogger("my_app")
logger.setLevel(logging.DEBUG)</p><h1>创建Formatter</h1><p>formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')</p><h1>文件处理器(仅ERROR以上)</h1><p>file_handler = RotatingFileHandler("error.log", maxBytes=1024*1024, backupCount=3)
file_handler.setLevel(logging.ERROR)
file_handler.setFormatter(formatter)</p><h1>控制台处理器(INFO及以上)</h1><p>console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
console_handler.setFormatter(formatter)</p><h1>添加处理器</h1><p>logger.addHandler(file_handler)
logger.addHandler(console_handler)</p><h1>使用</h1><p>logger.info("程序启动")
logger.error("发生错误")
如果发现日志重复打印,通常是因为Logger和Handler都启用了传播(propagate),或者多次添加了同一个Handler。
addHandler
propagate=False阻止向上传递基本上就这些。根据项目复杂度选择合适的方式,小项目用basicConfig,大项目推荐手动管理Logger和Handler。
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号