Python Twisted - 如何为 twisted.logger 设置日志级别

Python Twisted - How to set log levels for twisted.logger

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

我在文档中遗漏了什么吗?有人可以提供一个简短的例子,我将如何使用 twistd 并将我的应用程序中的日志级别设置为 INFO?

[1] howto/logger

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

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

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

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

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

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

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