2017-10-09 105 views
0

我想知道是否有方法在兩個文件中以相同的方式記錄相同的東西。 假設這是代碼,現在我想將相同的輸出轉到「logs.log」以重定向到sys.stdoutpython - 在兩個文件中記錄相同的東西扭曲

if __name__ == "__main__": 
    log.startLogging(open("logs.log", 'a')) 
    log.startLogging(sys.stdout) 

回答

0

如果您使用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,如果你想自定義消息。