mirror of
http://git.xinwangdao.com/cnnc-embedded-parts-detect/detect-gui.git
synced 2025-06-24 13:14:11 +08:00
29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
import logging
|
|
import os
|
|
from core.config import settings
|
|
|
|
def setup_logger():
|
|
log_dir = settings.logging.directory
|
|
log_level = settings.logging.level
|
|
os.makedirs(log_dir, exist_ok=True)
|
|
# 创建并配置全局 logger
|
|
logger_name = 'app'
|
|
_logger = logging.getLogger('app')
|
|
if len(_logger.handlers) == 0:
|
|
handler = logging.FileHandler(os.path.join(log_dir, f"{logger_name}.log"), encoding='utf-8')
|
|
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|
handler.setFormatter(formatter)
|
|
_logger.addHandler(handler)
|
|
if settings.get("logging.console", False):
|
|
console_handler = logging.StreamHandler()
|
|
console_handler.setFormatter(formatter)
|
|
_logger.addHandler(console_handler)
|
|
_logger.setLevel(getattr(logging, log_level.upper(), logging.DEBUG))
|
|
|
|
# 关闭日志传播,防止重复处理
|
|
_logger.propagate = False
|
|
return _logger
|
|
|
|
# 程序启动时调用一次 logger 配置
|
|
logger = setup_logger()
|