import logging, os, re
from logging.handlers import TimedRotatingFileHandler
"""
日志练习
"""
def setLog(logname):
# 创建日志对象
logger = logging.getLogger(logname)
# 设置 日志等级
logger.setLevel(level=logging.INFO)
# 设置日志 存储 路径
log_path = os.path.join(r"C:Userszxyyf_2PycharmProjectsmusic est", logname)
# 设置 函数 MIDNIGHT 表示 每天 零点进行更新 每天生成一个新的文件
"""" 接下来 设置 Handler 最后将设置好的 Handler 加入到 logger 中 """
file_handler = TimedRotatingFileHandler(filename=log_path, when="MIDNIGHT", interval=1, backupCount=30)
# 设置文件名 到时候会根据文件名固定删除
file_handler.suffix = "%Y-%m-%d.log"
# 设置 匹配的文件名字 与 suffix 进行匹配 用于删除 30天的文件
file_handler.extMatch = re.compile(r"^/d{4}-/d{2}-/d{2}.log$")
# 设置日志输出格式
file_handler.setFormatter(
logging.Formatter(
"[%(asctime)s] [%(process)d] [%(levelname)s] - %(module)s.%(funcName)s (%(filename)s:%(lineno)d) - %(message)s"
)
)
# 将定义好的 handle 注入到 logger 中
logger.addHandler(file_handler)
return logger
if __name__ == "__main__":
s = setLog("a")
s.info("aaaaaaaaaaaaa")
转载地址:https://www.cnblogs.com/xujunkai/p/12364619.html