python - 在两个扭曲的文件中记录相同的内容

python - log the same thing in two files twisted

我想知道是否有办法在 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