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

标签 python logging twisted

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 的现有客户端,但确实期望随着时间的推移与这一新功能进行更多更好的集成。

关于Python Twisted - 如何为 twisted.logger 设置日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30380937/

相关文章:

获取索引的pythonic方式,值== 1的列

Python urllib2.urlopen 返回 HTTP 错误 503

python - 如何缩进python记录器打印的多行消息?

python - numpy:如何针对不同的时间步长在两个数组之间进行插值?

python - 此嵌套循环的列表理解语法是否正确?

java - Log4j 记录到多个文件

Oracle:显示错误参数

python - twisted:如何在 react 器代码和线程代码之间优雅地通信?

python - 如何在 Twisted 中将 TCP Keepalive 与端点一起使用?

python - 已知版本的twisted python