栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python日志记录处理程序中setLevel的意义是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python日志记录处理程序中setLevel的意义是什么?

它允许更好的控制。默认情况下,root记录程序已

WARNING
设置级别,这意味着它不会打印较低级别的消息(无论如何设置处理程序的级别!)。但是,如果您将根记录程序的级别设置为
DEBUG
,则确实会将消息发送到日志文件:

import loggingimport logging.handlersa = logging.getLogger('myapp')a.setLevel(logging.DEBUG)   # set root's levelh = logging.handlers.RotatingFileHandler('foo.log')h.setLevel(logging.DEBUG)a.addHandler(h)print a.getEffectiveLevel() a.debug('foo message')a.warn('warning message')

现在,您要添加不记录调试信息的新处理程序的映像。您可以通过简单地设置处理程序日志记录级别来做到这一点:

import loggingimport logging.handlersa = logging.getLogger('myapp')a.setLevel(logging.DEBUG)   # set root's levelh = logging.handlers.RotatingFileHandler('foo.log')h.setLevel(logging.DEBUG)a.addHandler(h)h2 = logging.handlers.RotatingFileHandler('foo2.log')h2.setLevel(logging.WARNING)a.addHandler(h2)print a.getEffectiveLevel() a.debug('foo message')a.warn('warning message')

现在,日志文件

foo.log
将包含两条消息,而该文件
foo2.log
将仅包含警告消息。您可能对只包含错误级别消息的日志文件感兴趣,然后只需添加a
Handler
并将其级别设置为
logging.ERROR
,一切都使用相同的
Logger

您可能会将

Logger
日志记录级别视为对给定的记录器 及其处理程序 “感兴趣”的消息的全局限制。记录器 随后
考虑的消息将发送到处理程序,它们执行自己的过滤和记录过程。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/610365.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号