feat(settings): 添加LOGGING配置实现统一日志管理

添加标准日志格式配置,支持文件轮转和控制台输出
配置Django核心、请求及Celery相关模块的日志记录
This commit is contained in:
2026-01-19 20:57:09 +08:00
parent 34b03c0e64
commit ce575e6b35

View File

@@ -184,3 +184,59 @@ CELERY_LOG_LEVEL = "INFO" # 日志级别
CELERY_BROKER_URL = 'redis://:xjjq1234!@localhost:6379/0' CELERY_BROKER_URL = 'redis://:xjjq1234!@localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://:xjjq1234!@localhost:6379/0' CELERY_RESULT_BACKEND = 'redis://:xjjq1234!@localhost:6379/0'
LOGGING = {
'version': 1,
'disable_existing_loggers': False, # 不关闭已存在的日志器
'formatters': {
'standard': { # 统一的标准日志格式
'format': '[%(asctime)s] [%(levelname)s] [%(process)d] [%(module)s] %(message)s',
'datefmt': '%Y-%m-%d %H:%M:%S'
},
},
'handlers': {
'file': { # 日志写入文件的处理器
'level': 'INFO', # 日志级别INFO及以上都记录ERROR/WARNING/INFO
'class': 'logging.handlers.RotatingFileHandler', # 日志轮转,防止文件过大
# ✅ 核心pathlib对象转字符串logging只接收字符串路径必转
'filename': str(LOG_DIR / 'all_in_one.log'),
'maxBytes': 1024 * 1024 * 100, # 单个日志文件最大100MB
'backupCount': 10, # 最多保留10个日志备份
'formatter': 'standard', # 使用上面定义的统一格式
'encoding': 'utf-8', # 编码,防止中文乱码
},
'console': { # 兼容控制台输出(开发调试用,不影响生产)
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'standard'
},
},
# 所有日志器配置和原配置完全一致,无需任何修改
'loggers': {
'django': { # Django核心日志
'handlers': ['file'],
'level': 'INFO',
'propagate': True,
},
'django.request': { # Django的请求日志
'handlers': ['file'],
'level': 'INFO',
'propagate': True,
},
'celery': { # Celery客户端日志Django中提交任务的日志
'handlers': ['file'],
'level': 'INFO',
'propagate': True,
},
'utils.tasks': { # Celery邮件任务模块
'handlers': ['file'],
'level': 'INFO',
'propagate': True,
},
'utils.email_utils': { # 邮件配置模块
'handlers': ['file'],
'level': 'INFO',
'propagate': True,
},
},
}