我对twistd日志系统的主要功能很感兴趣,我用它来记录我需要的一些数据,不仅仅是记录twist应用程序的真实状态。顺便说一句,它很吵,我读过这篇文章Twisted: disable logging of Twisted-framework classes但我不确定我明白了。另外使用 .noise 不符合我的需要。
我想知道是否可以并且容易地在两个日志记录系统中清晰地分开,一方面具有扭曲矩阵应用程序所需的日志,另一方面仅包含包含我的重要数据的日志?
(这样我就可以在我自己的数据上拥有时间特征、旋转等,因为我已经在这里的许多人的善意帮助下付出了一些努力,以使扭曲日志记录的过程适应我的需要)。
有人可以给我一些关于如何实现这一目标的提示吗?
或者您的主要建议可能是我应该明确打开一个文件,打印其中的时间格式和数据行。并在该文件上实现我自己的轮换,而不是根据我的需要拒绝/劫持扭曲的日志系统?
我也考虑过使用log.msg(mydata, system = "myownflag")
然后使用 grep myownflag | my log > only-my-data
但可以有更好的想法......
(我是扭曲的新手,从最后开始以错误的方式学习它,并且对我的需求深入得太快,而不是在图书馆的基础上,所以我错过了很多东西。请为此道歉。)
致以诚挚的问候。
最佳答案
这是一个日志观察器包装器,可以过滤掉来自错误系统的事件:
from functools import wraps
def makeObserver(system, originalObserver):
@wraps(originalObserver)
def observe(event):
if event.get("system", None) == system:
originalObserver(event)
您可以通过包装任何现有的观察者并将其添加到日志系统来使用它:
from twisted.python.log import FileLogObserver, addObserver
fileObs = FileLogObserver(file("myownflag.log", "at"))
addObserver(makeObserver("myownflag", fileObs.emit)
关于python - 如何使用twistd日志系统来记录我的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17106585/