Files
task-executer/logging_config.py
2025-12-09 19:09:29 +08:00

69 lines
1.8 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""统一日志配置模块"""
import logging
import os
from datetime import datetime
def setup_logging(logger_name, log_filename=None):
"""
设置统一的文件日志配置
Args:
logger_name: logger名称
log_filename: 日志文件名,如果不提供则使用logger_name
Returns:
configured logger: 配置好的logger
"""
# 创建日志目录
log_dir = "logs"
if not os.path.exists(log_dir):
os.makedirs(log_dir)
# 设置日志文件名
if log_filename is None:
log_filename = f"{logger_name}.log"
log_file = os.path.join(log_dir, log_filename)
# 配置文件处理器
file_handler = logging.FileHandler(log_file, encoding='utf-8')
file_handler.setLevel(logging.INFO)
# 设置日志格式
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S'
)
file_handler.setFormatter(formatter)
# 获取或创建logger
logger = logging.getLogger(logger_name)
# 避免重复添加handler
if not logger.handlers:
logger.addHandler(file_handler)
logger.setLevel(logging.INFO)
return logger
def get_logger(logger_name):
"""获取配置好的logger"""
return setup_logging(logger_name)
# 全局日志配置
def setup_global_logging():
"""设置全局应用日志"""
# 应用主日志
app_logger = setup_logging('app', 'app_main.log')
# Celery日志
celery_logger = setup_logging('celery', 'celery_app.log')
# 任务日志
task_logger = setup_logging('call_api_task', 'call_api_tasks.log')
return {
'app': app_logger,
'celery': celery_logger,
'call_api_task': task_logger
}