首页 > 解决方案 > 扭曲的日志记录到屏幕(标准输出)不起作用

问题描述

我有这个小程序取自这里

from twisted.logger import Logger
log = Logger()

def handleData(data):
    log.debug("Got data: {data!r}.", data=data)

handleData({'a':20})

这不会在屏幕上打印任何内容。这是为什么呢?

标签: pythonloggingtwisted

解决方案


我从这里找到了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})

有没有更简单的方法。仅设置日志级别似乎过于复杂。


推荐阅读