| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- import logging
- from logging.handlers import TimedRotatingFileHandler
- import os
- def setup_logger(file_name):
- # 获取一个日志记录器
- logger = logging.getLogger(file_name)
-
- # 设置日志级别
- logger.setLevel(logging.DEBUG) # 设置最低的日志级别为DEBUG
- # 创建一个文件处理器,并设置日志文件的路径
- # file_handler = logging.FileHandler(f"./logs/{file_name}.log", encoding="utf-8")
- log_file_path = os.path.join("./logs", f"{file_name}.log")
- file_handler = TimedRotatingFileHandler(
- filename=log_file_path,
- when="midnight", # 每天午夜轮转
- interval=1, # 每隔1天轮转一次
- encoding="utf-8"
- )
-
- # 设置文件处理器的日志级别
- file_handler.setLevel(logging.DEBUG)
-
- # 创建一个控制台处理器(可选,用于同时输出到控制台)
- console_handler = logging.StreamHandler()
- console_handler.setLevel(logging.DEBUG)
-
- # 创建一个格式化器,并设置日志条目的格式
- formatter = logging.Formatter('%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(message)s')
-
- # 将格式化器添加到处理器
- file_handler.setFormatter(formatter)
- console_handler.setFormatter(formatter)
-
- # 将处理器添加到日志记录器
- logger.addHandler(file_handler)
- logger.addHandler(console_handler)
-
- return logger
|