Python 将控制台输出另存为日志文件
需求
在 PyCharm 中或者说运行 python 程序时会使用 print 输出些过程信息、 traceback 异常信息 到控制台,但是程序运行结束后记录就没有了,所以想着每次运行将信息显示在控制台的同时记录到文件中。
方法一:使用 Logger 类(推荐)
自定义创建 Logger 类,结合 sys 进行记录控制台输出信息
demo.py
import sys
import os
import time
# 控制台输出记录到文件
class Logger(object):
def __init__(self, file_name="Default.log", stream=sys.stdout):
self.terminal = stream
self.log = open(file_name, "a")
def write(self, message):
self.terminal.write(message)
self.log.write(message)
def flush(self):
pass