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

在Python中配置Logging处理器,关键是通过logging模块设置日志记录方式。你可以使用基础配置快速上手,也可以手动创建Logger、Handler、Formatter来实现更灵活的控制。
使用basicConfig快速配置
对于简单项目,可以直接用logging.basicConfig()设置默认的日志行为:
- 指定日志级别:比如DEBUG、INFO、WARNING等
- 选择输出目标:可以是控制台或文件
- 定义格式:包括时间、日志级别、消息内容等
示例:
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("这是一条信息日志")
手动添加处理器(Handler)
当需要更精细控制时,建议手动创建Logger并绑定多个处理器。每个处理器可独立设定输出位置和日志级别。
- FileHandler:写入文件
- StreamHandler:输出到终端
- RotatingFileHandler:按大小轮转日志文件
- TimedRotatingFileHandler:按时间轮转
示例:同时输出到文件和控制台,并区分级别
易森网络企业版
如果您是新用户,请直接将本程序的所有文件上传在任一文件夹下,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 - 子Logger可通过设置
propagate=False阻止向上传递 - 检查是否在循环或导入中反复配置
基本上就这些。根据项目复杂度选择合适的方式,小项目用basicConfig,大项目推荐手动管理Logger和Handler。
以上就是python中如何配置Logging处理器的详细内容,更多请关注其它相关文章!
# 相关文章
# seo视频 易科精品
# 日照网站建设工作室
# 岳阳整合推广营销
# 服务好网站推广
# 保山关键词优化排名
# 彭州营销推广价格
# 做企业推广网站
# 谷歌网站优化定制
# 常用seo优化技巧
# 电商营销推广的方式
# 可以直接
# 中文网
# python
# 您是
# 多个
# 你可以
# 是因为
# 这是
# 都是
# 命令行
# asic
# gate
# stream
# app
# 处理器
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
最新韩小圈网页版登录入口_官网在线观看官方链接
AO3官方可用镜像 Archive of Our Own网页版最新入口
文心一言怎样用插件调度API数据_文心一言用插件调度API数据【API调用】
iCloud登录入口网页版 苹果iCloud官网登录
c++ 命名空间怎么用 c++ namespace使用指南
mcjs网页版在线存档 mcjs云存档登录入口
深入理解Google Cloud Datastore查询:祖先路径与数据一致性
漫蛙漫画官方首页 漫蛙2漫画在线阅读入口
MAC如何安全彻底地删除文件_MAC使用终端命令确保文件无法被恢复
网易大神账号申诉需要多久_网易大神账号申诉流程说明
QQ邮箱稳定登录入口_QQ邮箱官方网站网页版使用
C#中解析不规范的HTML为XML 常见的坑与解决办法
漫蛙2正版漫画站 漫蛙2网页版快速访问入口
Win11怎么隐藏桌面图标 Win11一键隐藏所有桌面元素及恢复显示
sublime怎么预览Markdown渲染效果_Markdown Preview插件 for sublime教程
ArchiveofOurOwn小说阅读-ArchiveofOurOwn同人作品访问链接
J*a实现学校排课程序_面向对象结构化项目示例
必由学官方登录入口 必由学教师学生账号快速访问
Golang如何实现简单的Web表单_Golang表单提交与验证处理方法
大麦的“候补”是什么意思 大麦候补购票规则【详解】
谷歌邮箱注册显示错误Gmail服务器异常与延迟处理
Python实现多节点属性重叠度分析教程
抖音未来赚钱的新趋势 2025年值得关注的变现风口分析
在Qt QML中通过Python字典动态更新TextEdit内容的教程
可靠CSGO开箱平台解析 CSGO开箱网合集
如何在复杂的电商平台中优雅地管理共享资源并确保正确重定向,使用spryker-shop/resource-share-page模块助你一臂之力
Win11怎么合并任务栏图标 Win11开启任务栏合并减少图标占空间【方法】
如何更改在 Excel 中打开超链接时的默认浏览器
谷歌浏览器无痕模式怎么开 Chrome开启无痕浏览设置方法【教程】
Composer的 "licenses" 命令如何帮助你遵守开源协议_检查项目依赖的许可证合规性
漫画星球免费下拉式入口 漫画星球免费漫画在线阅读网站
Go语言中动态执行代码字符串的策略与实践
MongoDB Aggregation:在嵌套对象数组中精确匹配ObjectId
Typer应用中灵活处理命令行参数的令牌化与解析
Yandex免登录网页版地址 Yandex搜索引擎官方访问入口
Win11怎么设置鼠标指针速度_Win11提高鼠标指针精确度选项
yy漫画网页版官方入口_yy漫画官网登录页面链接
漫蛙网页登录入口 漫蛙漫画官方授权网址
Yandex免登录官网入口_俄罗斯Yandex搜索引擎直达链接
企业名称高精度匹配:N-gram方法在结构相似性分析中的应用
腾讯视频怎么举报不良内容_腾讯视频内容举报流程与违规信息处理方法
深入理解Go语言中Map值与方法接收器的交互:为什么需要临时变量
抖音网页版企业服务中心登录入口_抖音网页版企业登录平台
Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】
新三国志曹操传110级星符试炼夏侯渊极难攻略
Golang如何通过reflect获取匿名字段方法_Golang reflect匿名字段方法访问技巧
优酷会员付费后没到账怎么办_优酷会员充值异常及解决方法
C++如何解决segmentation fault_C++段错误调试与原因分析
如何在J*a中使用Locale处理多语言环境
Promise错误处理:在catch后终止链式then执行的策略


2025-11-21
浏览次数:次
返回列表
icConfig(
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("这是一条信息日志")