Python 模块化开发 日志器配置
根日志器
# utils/logger.py
import logging
import sys
from pathlib import Path
_configured = False
def setup_logging(log_file=None, level=logging.INFO):
"""配置根日志记录器"""
global _configured
if _configured:
return
if log_file:
log_path = Path(log_file)
log_path.parent.mkdir(parents=True, exist_ok=True)
# 根日志记录器
root_logger = logging.getLogger()
root_logger.setLevel(level)
for handler in root_logger.handlers[:]:
root_logger.removeHandler(handler)
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
# 控制台处理器
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setFormatter(formatter)
console_handler.setLevel(level)
root_logger.addHandler(console_handler)
# 文件处理器
if log_file:
file_handler = logging.FileHandler(log_file, encoding='utf-8')
file_handler.setFormatter(formatter)
file_handler.setLevel(level)
root_logger.addHandler(file_handler)
_configured = True
def get_logger(name=__name__):
"""获取指定名称的日志记录器"""
return logging.getLogger(name)评论
其他文章