Python重写print实现输出带时间截的日志log文件

#以下内容放在所有代码之前,实现print自动打印到日志
import os,sys,time,io
import builtins as __builtin__

def print(*args, **kwargs):
    # __builtin__.print('New print function')
    return __builtin__.print(time.strftime("%Y-%m-%d %H:%M:%S -----  ", time.localtime()) ,*args, **kwargs)
class Logger(object):
    def __init__(self, filename="Default.log", path="./"):
        sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
        self.terminal = sys.stdout
        self.log = open(os.path.join(path, filename), "a", encoding='utf8')

    def write(self, message):
        self.terminal.write(message)
        self.log.write(message)

    def flush(self):
        pass
sys.stdout = Logger('all.log', path="")
#以上内容放在所有代码之前,实现print自动打印到日志
print("我要写在日志里,还要加上时间截,哈哈哈")

 

posted @ 2022-01-11 13:15  寂寞圣贤  阅读(525)  评论(0)    收藏  举报