【问题标题】:Python Twisted - How to set log levels for twisted.loggerPython Twisted - 如何为 twisted.logger 设置日志级别
【发布时间】:2015-08-03 13:06:27
【问题描述】:

Twisted 最近推出了一个新的日志记录模块:twisted.logger。我已经阅读了文档 [1],但我无法找到设置实际日志级别的位置。关于日志观察者[2] 的部分建议如果您明确配置自己的 LogObservers,您可以配置一个谓词来执行此操作,但我不确定如果我使用 @987654325 运行我的应用程序,我应该如何设置日志级别@ 使用--logfile--syslog 选项。

我是否遗漏了文档中的某些内容?有人可以提供一个简短的示例,我将如何使用twistd 并将我的应用程序中的日志级别设置为INFO

[1] howto/logger

[2] howto/logger#provided-log-observers

【问题讨论】:

标签: python logging twisted


【解决方案1】:

通过各种发射器方法(log.debuglog.warn 等)在各种日志级别进行发射

新模块的添加旨在保持现有功能与以前完全相同,因此twistd 使用的日志观察器与以前相同,并且(尚未)设置为进行过滤基于日志级别。

将此类功能构建到 twistd 中,以及其他好东西,例如记录序列化 JSON 数据而不是文本(然后可以通过软件解析和检查)仍然即将到来。

与此同时,您可以设置自己的日志观察器来执行此操作,但这确实需要编写一些代码。您可以编写一个观察者来检查入站事件上的log_level 键,或者使用FilteringLogObserver 为您执行此操作并将过滤后的事件转发给您的观察者。如果您现在想使用它,您上面引用的文档应该可以帮助您开始使用它。

这里有很多潜力,例如能够在运行时修改为特定模块传递的日志级别,这可能超出了twistd 命令行选项的范围,但可以通过自定义更改(例如网络)界面,或仅将某些类型的事件发送到文本日志文件,而其他事件则通过电子邮件发送等。

基本上,我们一直专注于不破坏 Twisted 的现有客户,但确实希望随着时间的推移与这一新功能进行更多更好的集成。

【讨论】:

  • 设置日志级别是一件非常普通和基本的事情。对于扭曲的应用程序,应该有推荐的方法。
  • FilteringLogObserver 要求我将其传递给观察者。我如何将一个观察者传递给它,意思是“在我添加过滤器之前,twistd 会做什么”?
猜你喜欢
  • 2020-05-11
  • 1970-01-01
  • 2023-03-24
  • 2018-05-31
  • 2023-03-18
  • 1970-01-01
  • 2015-12-17
  • 2018-07-18
  • 1970-01-01
相关资源
最近更新 更多