Python 控制台信息同时输出到控制台和log文件
程序员文章站
2022-03-08 16:46:15
...
自定义Logger方式
简单快捷,很简单直接上代码:
# 同时输出到控制台和文件中
import sys
class Logger(object):
def __init__(self, filename='default.log', stream=sys.stdout):
self.terminal = stream
self.log = open(filename, 'a')
# write()函数这样写,每调用一次就写到记录文件中,不需要等待程序运行结束。
def write(self, message):
self.terminal.write(message)
self.terminal.flush()
self.log.write(message)
self.log.flush()
def flush(self):
pass
sys.stdout = Logger('output.log', sys.stdout)
sys.stderr = Logger('output.log_file', sys.stderr) # redirect std err, if necessary
# 下面就可*发挥自己的代码了
print('print something')
注意上面def write(self, message):函数的写法。
上一篇: dubbo 集成restful协议