loguru Python日志神器 | Python 主题月

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: loguru Python日志神器 | Python 主题月

何为 loguru


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


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


安装 loguru


pip install loguru
复制代码


demo


代码:


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 默认以时间,级别,函数名,模块名,行号,信息的顺序来输出日志。


重定向日志到文件


代码:


from loguru import logger
# 配置重定向路径
logger.add('loguru.log')
logger.debug('this is a redirect to file message')
复制代码


控制台输出:


网络异常,图片无法展示
|


日志文件内容:


网络异常,图片无法展示
|


自定义格式


代码:


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 参数进行配置。


按大小轮转


logger.add('runtime_{time}.log', rotation="500 MB")
复制代码


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


按时间轮转


logger.add('runtime_{time}.log', rotation='00:00')
复制代码


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


按周轮转


logger.add('runtime_{time}.log', rotation='1 week')
复制代码


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


优雅的异常处理


代码:


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 帮我们指出了异常出现的位置,方便定位问题,而且优雅的展示了异常的日志。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
25天前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
2月前
|
Python
python读写操作excel日志
主要是读写操作,创建表格
68 2
|
2月前
|
Python Windows
python知识点100篇系列(24)- 简单强大的日志记录器loguru
【10月更文挑战第11天】Loguru 是一个功能强大的日志记录库,支持日志滚动、压缩、定时删除、高亮和告警等功能。安装简单,使用方便,可通过 `pip install loguru` 快速安装。支持将日志输出到终端或文件,并提供丰富的配置选项,如按时间或大小滚动日志、压缩日志文件等。还支持与邮件通知模块结合,实现邮件告警功能。
python知识点100篇系列(24)- 简单强大的日志记录器loguru
|
2月前
|
数据采集 机器学习/深度学习 存储
使用 Python 清洗日志数据
使用 Python 清洗日志数据
47 2
|
3月前
|
消息中间件 Kafka API
python之kafka日志
python之kafka日志
37 3
|
3月前
|
Python
5-9|Python获取日志
5-9|Python获取日志
|
3月前
|
开发者 Python
基于Python的日志管理与最佳实践
日志是开发和调试过程中的重要工具,然而,如何高效地管理和利用日志常常被忽略。本文通过Python中的logging模块,探讨如何使用日志来进行调试、分析与问题排查,并提出了一些实际应用中的优化建议和最佳实践。
|
3月前
|
Python
Python如何将日志输入到文件里
Python如何将日志输入到文件里
|
3月前
|
Python
python之日志基础班
python之日志基础班
|
1月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
291 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板