Files
mt5_python_ea_suite/logger.py
T
songkunling 559d78388d add files
2025-07-25 17:35:01 +08:00

41 lines
1.1 KiB
Python

import logging
import os
# 全局变量,用于存储logger实例
_logger_instance = None
def setup_logger():
global _logger_instance
if _logger_instance:
return _logger_instance
log_dir = "logs"
os.makedirs(log_dir, exist_ok=True)
log_file = os.path.join(log_dir, "strategy.log")
logger = logging.getLogger("StrategyLogger")
logger.setLevel(logging.DEBUG)
# 防止重复添加handler
if not logger.handlers:
# 输出到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
# 输出到文件
file_handler = logging.FileHandler(log_file, encoding="utf-8")
file_handler.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - [%(levelname)s] - %(message)s')
console_handler.setFormatter(formatter)
file_handler.setFormatter(formatter)
logger.addHandler(console_handler)
logger.addHandler(file_handler)
_logger_instance = logger
return logger
# 直接导出一个已经初始化好的logger实例
logger = setup_logger()