Python日志loguru模块的使用

from loguru import logger

logger.add('log.log',retention='10 days')

logger.info('this is first log')

### 替代标准 `logging` 模块使用 Loguru 库 对于希望简化日志记录配置并提高开发效率的开发者而言,在 Python 项目中采用 Loguru 库是一个不错的选择。Loguru 设计之初就考虑到了易用性和灵活性,提供了更为简洁的日志接口。 安装 Loguru 可通过 pip 完成: ```bash pip install loguru ``` 移除原有的标准 `logging` 配置后,可以在项目的入口文件或者配置文件里引入 Loguru 并设置全局捕获器来接管未处理异常的通知[^1]。 为了完全替换掉默认的日志机制,可以关闭内置 logger 的传播属性,并添加自定义处理器到应用程序中去。下面是一段用于初始化 Loguru 日志系统的代码片段: ```python from loguru import logger logger.remove() # 移除所有已存在的handlers,默认情况下只有一个handler即控制台输出 logger.add("file_{time}.log", rotation="500 MB") # 添加新的 handler 将日志写入文件,当文件大小超过指定值时自动轮转 ``` 上述命令会将日志消息保存至带有时间戳标记的日志文件中,每当单个文件增长到一定规模(这里是 500MB),就会创建一个新的日志文件继续记录新产生的事件数据。 此外,还可以利用更多高级特性来自定义日志行为,比如异步写入、压缩旧日志文件等。这些功能使得 Loguru 成为一个强大而灵活的日志解决方案。 #### 关闭标准库中的 Logger 如果要彻底禁用 Python 自带的标准 `logging` 模块,则可以通过遍历其管理的所有 logger 实例并将它们的级别设为最高(`CRITICAL`)或直接删除所有的 handlers 来实现这一点: ```python import logging for name in logging.Logger.manager.loggerDict.keys(): logging.getLogger(name).handlers = [] logging.getLogger(name).propagate = False root_logger = logging.getLogger() root_logger.setLevel(logging.CRITICAL) while root_logger.handlers: root_logger.handlers.pop() del logging._handlerList[:] # 清理内部状态列表 ``` 这段脚本确保了即使其他部分代码尝试调用 `logging.basicConfig()` 或者手动获取某个特定名称下的 logger 对象也不会意外激活标准日志系统[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值