pip install loguru
import sys
from loguru import logger
DEBUG = 0
INFO = 1
ERROR = 2
class LoggerWriter:
def __init__(self, level):
# 日志级别
self.level = level
def write(self, message):
# 只有message非空时才记录
if message.rstrip() != "":
if self.level == DEBUG:
logger.debug(message)
elif self.level == ERROR:
logger.error(message)
else:
logger.info(message)
def flush(self):
# 这个方法是为了满足文件对象的接口,但是什么都不需要做
pass
# 重定向标准输出和错误输出
def init_log():
# 只定义一次add就可以了
logger.add('log/log_{time:YYYY-MM-DD}.log', rotation='00:00')
# 重定向
sys.stdout = LoggerWriter(DEBUG)
sys.stderr = LoggerWriter(ERROR)
logger.info("--------------------------- start -----------------------")
# 引入时,自动调用初始化log
init_log()
main.py引用
建议如果自己写的代码直接使用 from loguru import logger
import log_init # print 重定向到日志,放第一行