如何在twisted中设置日志级别?

2024-03-28 18:03:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是带有twisted的高速公路包,它为我显示每次连接到websocket的调试消息。我尝试将日志记录级别切换为“信息”,但没有成功:

import logging
logging.basicConfig(level=logging.INFO)

有没有一个简单的方法来切换日志级别?在

更新。

这是扭曲的_服务.py以下内容:

^{pr2}$

我用twistd脚本运行它:twisted-noy twisted_服务.py我收到一条信息:

2018-03-03T10:45:22+0500 [builtin.WebsocketService#debug] start service

在日志记录.basicConfig没用。在


Tags: 方法pyimportinfo信息消息logging记录
2条回答

我找到了解决办法:

import sys
from twisted.application import service
from twisted.logger import LogLevelFilterPredicate, LogLevel
from twisted.logger import textFileLogObserver, FilteringLogObserver


class WebsocketService(service.Service):
    log = Logger()

    def startService(self):
        service.Service.startService(self)
        self.log.debug('start service')

application = service.Application("ws")

ws_service = WebsocketService()
ws_service.setServiceParent(application)

info_predicate = LogLevelFilterPredicate(LogLevel.info)
log_observer = FilteringLogObserver(textFileLogObserver(sys.stdout), predicates=info_predicate)

application.setComponent(ILogObserver, log_observer)

要查找所有记录器及其对应的名称,请执行以下操作:

logging.Logger.manager.loggerDict.keys()

尝试通过获取噪音记录器实例显式设置它:

^{pr2}$

相关问题 更多 >