编写一个py文件,命名为loghander.py
import logging
from os import path, makedirs
from os.path import exists
import time
from logging.handlers import TimedRotatingFileHandler
# 创建日志文件夹
logging_path = path.join(path.dirname(__file__), 'logs')
if not path.exists(logging_path):
makedirs(logging_path)
# 日志文件名称按日期生成
now = time.strftime('%Y-%m-%d') # 获取当天的时间,时间生成格式为eg:2021-10-31
log_name = now + "_liveauction.log" # 拼接路径
# 日志信息只保留15天,十五天后自动销毁
file_handler = TimedRotatingFileHandler(filename=log_name , when='D', interval=1, backupCount=15)
level = logging.INFO
log_formate = '%(asctime)s %(levelname)s %(filename)s [line:%(lineno)d] %(name)s 日志信息:%(message)s'
filename = path.join(logging_path, log_name)
filemode = 'a' if exists(filename) else 'w'
logging.basicConfig(level=level,
format=log_formate,
datefmt='%Y-%m-%d %H:%M:%S',
# 日期的输出形式,对应formate的asctime
filename=filename,
# 日志的输出路径及名字
filemode=filemode,
)
# 日志输出器 控制台 指定的文件
stream_handler= logging.StreamHandler() # 渠道是指输出到控制台
formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
stream_handler.setFormatter(formatter)
stream_handler.setLevel('DEBUG') # 只输出INFO以上的
# ch.setFormatter(log_formate)
**引用时候直接from loghander import ***