loguru日志配置

要通过方法设置 loguru 日志配置,我们可以创建一个配置函数,并将所有配置逻辑集中在该函数中。在这种情况下,配置函数不仅仅执行配置逻辑,还可以通过传递参数来动态设置路径或其他配置选项。以下是如何通过一个方法来设置 loguru 日志的示例:

import os
import sys
from loguru import logger

def configure_logging(app_name, log_directory='/chj/data/log', log_file_name='app.log', 
                      rotation_size='100 MB', retention_period='1 days', stderr_level="DEBUG", file_level="INFO"):
    """
    配置日志系统。

    :param app_name: 应用名称,用于生成日志路径。
    :param log_directory: 日志根目录。
    :param log_file_name: 日志文件名。
    :param rotation_size: 日志文件轮转的大小。
    :param retention_period: 日志文件的保留周期。
    :param stderr_level: 标准错误流日志级别。
    :param file_level: 日志文件级别。
    """
    
    # 移除任何现有的日志配置
    logger.remove()

    # 创建日志路径
    log_path = os.path.join(log_directory, app_name, "logs", log_file_name)

    # 确保日志目录存在
    os.makedirs(os.path.dirname(log_path), exist_ok=True)

    # 添加文件日志处理器
    logger.add(log_path, rotation=rotation_size, retention=retention_period, level=file_level, format="{time} - {level} - {message}")

    # 添加标准错误流日志处理器
    logger.add(sys.stderr, level=stderr_level)

# 调用配置方法设置日志
configure_logging(app_name="my_app")

# 测试日志输出
logger.info("应用已启动。")
logger.debug("这是一个调试信息。")

示例解析:

  1. 函数参数化:

    • app_name 用于生成带有应用名称的特定日志路径。
    • log_directorylog_file_name 允许调用者定义日志所在的目录和日志文件的名称。
    • rotation_sizeretention_periodstderr_levelfile_level 使得日志轮转、保留、级别等设置可以灵活调整。
  2. 使用 os.makedirs() 创建目录:
    确保日志文件所在的目录存在,以便于正确写入日志文件。

  3. 日志输出配置:

    • 使用 logger.add() 两次,分别配置日志文件和标准错误流的输出,保证文件和控制台都可以监控日志。

这种方法提供了灵活性,你可以根据需要调用 configure_logging() 函数时传入不同的参数值。这使得日志配置可以适应不同的运行环境或应用需求。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值