python - 扭曲的日志记录到屏幕(标准输出)不起作用
问题描述
我有这个小程序取自这里
from twisted.logger import Logger
log = Logger()
def handleData(data):
log.debug("Got data: {data!r}.", data=data)
handleData({'a':20})
这不会在屏幕上打印任何内容。这是为什么呢?
解决方案
我从这里找到了https://github.com/moira-alert/worker/blob/master/moira/logs.py:
import logging
from twisted.logger import Logger, LogLevel
import sys
from twisted.logger import globalLogPublisher
from twisted.logger import textFileLogObserver
from twisted.logger import FilteringLogObserver, LogLevelFilterPredicate, LogLevel
log = Logger()
level = LogLevel.debug
predicate = LogLevelFilterPredicate(defaultLogLevel=level)
observer = FilteringLogObserver(textFileLogObserver(sys.stdout), [predicate])
observer._encoding = "utf-8"
globalLogPublisher.addObserver(observer)
log.info("Start logging with {l}", l=level)
def handleData(data):
log.debug("Got data: {data!r}.", data=data)
handleData({'a':20})
有没有更简单的方法。仅设置日志级别似乎过于复杂。
推荐阅读
- validation - 应该向 Jensen shenon 函数提供什么输入来找到散度值?
- python - 从自由文本产品描述中提取产品类型
- c++ - OpenGL阴影映射怪异
- flutter - 如何在全球范围内使用 SharedPreference?
- powershell - 通过 powershell 获取每个用户成员的规范名称
- java - 为什么我在这里得到空指针?
- java - Vaadin 14 - 非模态对话框调整大小
- python - 我应该如何使用 Pytorch 初始化我的网络?
- python - 取消包装到异步同步功能
- javascript - React.JS 与 Vanilla JS,性能:(快 28 倍)