前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python日志神奇loguru

Python日志神奇loguru

作者头像
Python研究所
发布2022-06-17 08:50:14
发布2022-06-17 08:50:14
1.2K00
代码可运行
举报
文章被收录于专栏:大飞的部落阁大飞的部落阁
运行总次数:0
代码可运行

何为 loguru

可能你已经习惯了使用 python 自带的 logging 模块来进行日志处理,我也不例外。但是今天,我要给大家介绍一个全新的日志处理库 loguru

相比 loggingloguru 更加优雅,简单,日志的输出也更加美观。

安装 loguru

代码语言:javascript
代码运行次数:0
运行
复制
pip install loguru

demo

代码:

代码语言:javascript
代码运行次数:0
运行
复制
from loguru import logger

logger.debug('this is a debug message')
logger.info('this is another debug message')
logger.warning('this is another debug message')
logger.error('this is another debug message')
logger.info('this is another debug message')
logger.success('this is success message!')
logger.critical('this is critical message!')

控制台输出:

怎么样,是不是很优雅,loguru 默认以时间,级别,函数名,模块名,行号,信息的顺序来输出日志。

重定向日志到文件

代码:

代码语言:javascript
代码运行次数:0
运行
复制
from loguru import logger

# 配置重定向路径
logger.add('loguru.log')

logger.debug('this is a redirect to file message')

控制台输出:

日志文件内容:

自定义格式

代码:

代码语言:javascript
代码运行次数:0
运行
复制
from loguru import logger

# 配置重定向路径&格式
logger.add('loguru.log',format='{level} {time} {message}')

logger.debug('this is a redirect to file message')

控制台输出:

日志文件内容:

我们可以看到,在 add 中配置的格式只对写入日志文件的内容生效。

日志轮转

用了 loguru 我们还可以非常方便地使用 rotation 配置,比如我们想一天输出一个日志文件,或者文件太大了自动分隔日志文件,我们可以直接使用 add 方法的 rotation 参数进行配置。

按大小轮转

代码语言:javascript
代码运行次数:0
运行
复制
logger.add('runtime_{time}.log', rotation="500 MB")

以上配置可以实现每 500M 轮转一次。

按时间轮转

代码语言:javascript
代码运行次数:0
运行
复制
logger.add('runtime_{time}.log', rotation='00:00')

以上配置实现了每天 0 点轮转一次。

按周轮转

代码语言:javascript
代码运行次数:0
运行
复制
logger.add('runtime_{time}.log', rotation='1 week')

以上配置实现了每周轮转一次。

优雅的异常处理

代码:

代码语言:javascript
代码运行次数:0
运行
复制
from loguru import logger

# 配置重定向路径&格式
logger.add('loguru.log',format='{time} | {level} | {message}')

logger.debug('test traceback')

@logger.catch
def err(x:int,y:int):
    return 1/(x+y)

if __name__ == '__main__':
    err(0,0)

控制台输出:

日志文件内容:

如上,loguru 帮我们指出了异常出现的位置,方便定位问题,而且优雅的展示了异常的日志。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 何为 loguru
  • 安装 loguru
  • demo
  • 重定向日志到文件
  • 自定义格式
  • 日志轮转
    • 按大小轮转
    • 按时间轮转
    • 按周轮转
  • 优雅的异常处理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档