将相同的内容记录在两个扭曲的文件中
问题描述
我想知道有没有办法将相同的事情记录在两个Twisted文件中。
假设这是代码,现在我希望将指向"logs.log"的相同输出重定向到sys.stdout
。
if __name__ == "__main__":
log.startLogging(open("logs.log", 'a'))
log.startLogging(sys.stdout)
解决方案
如果您使用的是最新版本的Twisted,这绝对是可能的,而且比以往任何时候都更容易。
from sys import stdout
from twisted.logger import Logger, textFileLogObserver, globalLogBeginner
# start the global logger
logfile = open('log.log', 'a')
globalLogBeginner.beginLoggingTo([
textFileLogObserver(stdout),
textFileLogObserver(logfile)])
log = Logger()
log.info('hello world')
log.debug('hello world')
如果需要自定义消息,也可以implement you own logger。
相关文章