first commit
This commit is contained in:
commit
4890793ce5
1029 files changed
+5992
No files matched your search
@@ -0,0 +1,57 @@
|
||||
import os
|
||||
import logging
|
||||
from logging.handlers import RotatingFileHandler
|
||||
import time
|
||||
|
||||
|
||||
def setup_logger():
|
||||
"""
|
||||
配置应用程序日志记录器
|
||||
|
||||
- 将日志输出到控制台
|
||||
- 将日志保存到文件(带有时间戳的文件名)
|
||||
- 使用轮换文件处理程序限制日志文件大小
|
||||
"""
|
||||
# 确保日志目录存在
|
||||
logs_dir = os.path.join(
|
||||
os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "logs"
|
||||
)
|
||||
os.makedirs(logs_dir, exist_ok=True)
|
||||
|
||||
# 创建时间戳日志文件名
|
||||
timestamp = time.strftime("%Y%m%d-%H%M%S")
|
||||
log_file = os.path.join(logs_dir, f"douyin_imbot_{timestamp}.log")
|
||||
|
||||
# 配置根日志记录器
|
||||
root_logger = logging.getLogger()
|
||||
root_logger.setLevel(logging.INFO)
|
||||
|
||||
# 清除任何现有的处理程序
|
||||
for handler in root_logger.handlers[:]:
|
||||
root_logger.removeHandler(handler)
|
||||
|
||||
# 创建控制台处理程序
|
||||
console_handler = logging.StreamHandler()
|
||||
console_handler.setLevel(logging.INFO)
|
||||
console_format = logging.Formatter(
|
||||
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
||||
)
|
||||
console_handler.setFormatter(console_format)
|
||||
root_logger.addHandler(console_handler)
|
||||
|
||||
# 创建文件处理程序(限制每个文件大小为5MB,最多保留5个备份)
|
||||
file_handler = RotatingFileHandler(
|
||||
log_file, maxBytes=5 * 1024 * 1024, backupCount=5, encoding="utf-8" # 5 MB
|
||||
)
|
||||
file_handler.setLevel(logging.INFO)
|
||||
file_format = logging.Formatter(
|
||||
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
||||
)
|
||||
file_handler.setFormatter(file_format)
|
||||
root_logger.addHandler(file_handler)
|
||||
|
||||
# 记录启动信息
|
||||
logging.info("日志系统初始化完成")
|
||||
logging.info(f"日志文件: {log_file}")
|
||||
|
||||
return root_logger
|
||||
Reference in new issue
Block a user