python-3.x - 如何使用 python 的日志记录模块为每个处理程序和每个模块设置日志记录级别
问题描述
我想在 python 中为每个处理程序和记录器设置不同的日志记录级别。我希望将所有记录器的调试级别日志发送到他们的文件处理程序,但能够单独选择每个记录器的日志级别以打印到控制台。
import logging
loggerA = logging.getLogger('a')
fhA = logging.FileHandler(filename='a.log', mode='w')
fhA.setLevel(logging.DEBUG)
loggerA.addHandler(fhA)
loggerB = logging.getLogger('b')
fhB = logging.FileHandler(filename='b.log', mode='w')
fhB.setLevel(logging.DEBUG)
loggerB.addHandler(fhB)
logging.basicConfig(level=logging.INFO)
logging.getLogger('a').setLevel(logging.INFO)
logging.getLogger('b').setLevel(logging.WARN)
loggerA.info("TEST a")
loggerB.info("TEST b")
我希望所有日志都发送到文件中,但仅在控制台中的“b”中显示 WARNING 及以上,从控制台中的“a”中显示 INFO 及以上。使用上面的代码,'b' 文件中没有任何日志。
解决方案
推荐阅读
- c# - 如果我想在一分钟内将数据从数据库写入 .txt 文件,每次都需要打开和关闭数据库连接吗?
- java - 多数据源回退
- javascript - 使用路由路由器 v4 强制更新相同的路由
- java - Apache Spark - Spark-提交 ClassNotFoundException
- angular - 在Angular组件中动态添加@Output?
- vue.js - Vue Cli 混淆的 ESLint 错误
- angular - 我应该在 Angular 中再次调用 ngOnInit() 吗?
- kubernetes - 在 LoadBalancer 上设置 HTTP+HTTPs 和 TCP 端口(想要转发 GitLab SSH 和 Web)
- python - 尝试为登录视图制作 Check reCaptcha Mixin - django
- php - 需要有关使用 SDK PHP 的 Paypal Express Checkout API REST 的帮助