Logger 日志管理工具
约 569 字大约 2 分钟
2025-08-12
概述
logger.py 文件提供了标准化的日志配置和管理功能,支持控制台和文件输出,并根据环境变量动态调整日志级别和格式。
主要功能
- 统一的日志配置和格式化
- 支持控制台和文件双重输出
- 环境变量驱动的配置管理
- 自动日志文件轮转
- 生产环境优化的性能配置
使用方法
基本使用
from app.utils.logger import get_logger
logger = get_logger(__name__)
logger.info("这是一条信息日志")
logger.error("这是一条错误日志")便捷函数使用
from app.utils.logger import info, error, debug
# 直接使用便捷函数记录日志
info("这是一条信息日志")
error("这是一条错误日志")
debug("这是一条调试日志")环境变量配置
日志模块支持通过环境变量进行配置:
LOG_LEVEL: 日志级别 (DEBUG, INFO, WARNING, ERROR, CRITICAL),默认为 INFOLOG_FILE_PATH: 日志文件路径,默认不输出到文件ENVIRONMENT: 运行环境 (development, production),默认为 development
类说明
LoggerConfig
日志配置类,根据环境变量和应用需求配置日志系统的各项参数。
LoggerManager
日志管理器,单例模式的日志管理器,负责创建和配置根日志器。
get_logger(name)
获取日志记录器实例,为指定模块创建或获取日志记录器。
参数
name: 日志记录器名称,通常使用__name__
返回值
logging.Logger: 配置好的日志记录器实例
set_log_level(level)
动态设置日志级别。
参数
level: 日志级别 (DEBUG, INFO, WARNING, ERROR, CRITICAL)
便捷函数
debug(msg, *args, **kwargs): 记录DEBUG级别日志info(msg, *args, **kwargs): 记录INFO级别日志warning(msg, *args, **kwargs): 记录WARNING级别日志error(msg, *args, **kwargs): 记录ERROR级别日志critical(msg, *args, **kwargs): 记录CRITICAL级别日志
示例
import os
from app.utils.logger import get_logger, set_log_level
# 设置环境变量
os.environ['LOG_LEVEL'] = 'DEBUG'
os.environ['LOG_FILE_PATH'] = './logs/app.log'
# 获取日志记录器
logger = get_logger(__name__)
# 记录不同级别的日志
logger.debug("调试信息")
logger.info("一般信息")
logger.warning("警告信息")
logger.error("错误信息")
# 动态调整日志级别
set_log_level('WARNING')
logger.info("这条信息不会被记录") # 因为当前级别是WARNING
logger.warning("这条警告会被记录")版权所有
版权归属:Evoliant
许可证:MIT