update logger config

This commit is contained in:
zhiyong 2025-05-14 23:38:06 +08:00
parent 9e13f3c956
commit 24e10b3c3d
2 changed files with 26 additions and 14 deletions

View File

@ -20,7 +20,7 @@ class Config:
LOG_LEVEL = "INFO"
LOG_FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
LOG_MAX_BYTES = 10 * 1024 * 1024 # 10MB
LOG_BACKUP_COUNT = 5
LOG_BACKUP_COUNT = 10
# strategy data
DATA_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "data")

View File

@ -16,7 +16,10 @@ def create_formatter(format_str=None):
return logging.Formatter(format_str)
# 创建服务器日志记录器
def setup_server_logger(log_dir, max_bytes=10*1024*1024, backup_count=5, level=logging.INFO, log_format=None):
def setup_server_logger(log_dir=Config.LOG_DIR, max_bytes=getattr(Config, 'LOG_MAX_BYTES', 10*1024*1024),
backup_count=getattr(Config, 'LOG_BACKUP_COUNT', 5),
level=getattr(Config, 'LOG_LEVEL', logging.INFO),
log_format=None):
"""
创建服务器日志记录器
@ -56,12 +59,18 @@ def setup_server_logger(log_dir, max_bytes=10*1024*1024, backup_count=5, level=l
return logger
# 创建真实交易日志记录器
def setup_real_trader_logger(log_dir, level=logging.INFO, log_format=None):
def setup_real_trader_logger(log_dir=Config.LOG_DIR,
max_bytes=getattr(Config, 'LOG_MAX_BYTES', 10*1024*1024),
backup_count=getattr(Config, 'LOG_BACKUP_COUNT', 5),
level=getattr(Config, 'LOG_LEVEL', logging.INFO),
log_format=None):
"""
创建真实交易日志记录器
Args:
log_dir: 日志目录
max_bytes: 单个日志文件最大大小
backup_count: 保留的备份文件数量
level: 日志级别
log_format: 日志格式
@ -76,15 +85,12 @@ def setup_real_trader_logger(log_dir, level=logging.INFO, log_format=None):
for handler in logger.handlers[:]:
logger.removeHandler(handler)
# 创建每日滚动文件处理器
file_handler = TimedRotatingFileHandler(
# 创建基于大小的滚动文件处理器,替换原有的基于时间的处理器
file_handler = RotatingFileHandler(
os.path.join(log_dir, 'real_trader.log'),
when="midnight",
interval=1,
backupCount=7,
encoding="utf-8"
maxBytes=max_bytes,
backupCount=backup_count
)
file_handler.suffix = "%Y-%m-%d"
formatter = create_formatter(log_format or '%(asctime)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
@ -97,7 +103,11 @@ def setup_real_trader_logger(log_dir, level=logging.INFO, log_format=None):
return logger
# 创建模拟交易日志记录器
def setup_simulation_logger(log_dir, max_bytes=10*1024*1024, backup_count=5, level=logging.INFO, log_format=None):
def setup_simulation_logger(log_dir=Config.LOG_DIR,
max_bytes=getattr(Config, 'LOG_MAX_BYTES', 10*1024*1024),
backup_count=getattr(Config, 'LOG_BACKUP_COUNT', 5),
level=getattr(Config, 'LOG_LEVEL', logging.INFO),
log_format=None):
"""
创建模拟交易日志记录器
@ -147,7 +157,9 @@ def setup_strategy_logger():
return logging.getLogger('trade_server')
# 根据配置创建合适的日志记录器
def get_logger(module_name, log_dir=Config.LOG_DIR, level=Config.LOG_LEVEL if hasattr(Config, 'LOG_LEVEL') else logging.INFO):
def get_logger(module_name,
log_dir=Config.LOG_DIR,
level=getattr(Config, 'LOG_LEVEL', logging.INFO)):
"""
获取适合模块的日志记录器
@ -182,8 +194,8 @@ def get_logger(module_name, log_dir=Config.LOG_DIR, level=Config.LOG_LEVEL if ha
# 添加文件处理器
file_handler = RotatingFileHandler(
os.path.join(log_dir, f'{module_name}.log'),
maxBytes=10*1024*1024,
backupCount=5
maxBytes=getattr(Config, 'LOG_MAX_BYTES', 10*1024*1024),
backupCount=getattr(Config, 'LOG_BACKUP_COUNT', 5)
)
file_handler.setFormatter(create_formatter())
logger.addHandler(file_handler)