脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python日志模块loguru详解

python日志模块loguru详解

2022-09-29 13:41JulyLi2019 Python

大家好,本篇文章主要讲的是python日志模块loguru详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

前言

在部署一些定时运行或者长期运行的任务时,为了留存一些导致程序出现异常或错误的信息,通常会才用日志的方式来进行记录这些信息。python内置的logging标准库博主是没用过,今天给大家介绍loguruloguru 库的使用可以说是十分简单,希望通过本文大家再也不用通过print来排查代码了。

 

使用步骤

 

安装库

pip install loguru

 

简单使用方法

from loguru import logger

logger.debug("debug message")
logger.info("info level message")
logger.warning("warning level message")
logger.critical("critical level message")

python日志模块loguru详解

从这个可以看出,logger.debug、logger.info、logger.warning、logger.critical不仅可以代替print,还为输出的日志信息带上了不同的颜色样式,使得结果更加美观。

 

配置

使用基本的add() 方法就可以对logger 进行简单的配置。

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")    # 文件每过一周就会创建新文件

logger.add("test_4.log", retention="5 days")  # 只保留最近五天的日志文件

logger.add("test_5.log", compression="zip")    # 以zip格式对日志进行保存

其中time为占位符:可以自动生成时间,生成一个文件名包含时间的 log 文件。

python日志模块loguru详解

 

异常追溯

当遇到错误是,如果在打印出log的时候没有配置 Traceback 的输出,很有可能无法追踪错误。loguru提供了装饰器@logger.catch()就可以直接进行 Traceback 的记录。
建议在程序开始运行之前使用add()方法新建一个运行日志,这样所有的日志都会被记录到log之中。

from loguru import logger

@logger.catch()
def test():
    return 1/0

if __name__ == "__main__":
    logger.add("test.log", retention="5 days")
    test()

python日志模块loguru详解

python日志模块loguru详解

 

总结

本文介绍了关于loguru的常用方法,使用loguru 库无疑还是很香的,毕竟别人已经为我们一些日常的通用性需求提供了封装好的解决方案,无论是在学习还是在使用的成本上,无疑还是比较小的。

到此这篇关于python日志模块loguru详解的文章就介绍到这了,更多相关python loguru模块内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/JulyLi2019/article/details/122931683

延伸 · 阅读

精彩推荐
  • PythonPython正则表达式常用函数总结

    Python正则表达式常用函数总结

    这篇文章主要介绍了Python正则表达式常用函数,结合实例形式总结分析了Python正则表达式常用函数功能、使用方法及相关注意事项,需要的朋友可以参考下...

    世界看我我看世界4812020-11-20
  • Pythonpython 如何在测试中使用 Mock

    python 如何在测试中使用 Mock

    这篇文章主要介绍了python 如何在测试中使用 Mock,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下...

    路上有莉6282021-09-12
  • Pythonpython3+PyQt5+Qt Designer实现堆叠窗口部件

    python3+PyQt5+Qt Designer实现堆叠窗口部件

    这篇文章主要为大家详细介绍了python3+PyQt5+Qt Designer实现堆叠窗口部件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一...

    basisworker4112021-02-03
  • PythonPandas:Series和DataFrame删除指定轴上数据的方法

    Pandas:Series和DataFrame删除指定轴上数据的方法

    今天小编就为大家分享一篇Pandas:Series和DataFrame删除指定轴上数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    BQW_6382021-04-17
  • PythonPython实现的密码强度检测器示例

    Python实现的密码强度检测器示例

    这篇文章主要介绍了Python实现的密码强度检测器,结合实例形式分析了Python密码强度检测的原理与实现方法,涉及Python字符串运算与转换、判断等相关操作技...

    exmy6632020-12-03
  • Pythonflask-socketio实现WebSocket的方法

    flask-socketio实现WebSocket的方法

    这篇文章主要介绍了flask-socketio实现WebSocket的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    K.Takanashi8232021-03-24
  • PythonPython还能这么玩之用Python修改了班花的开机密码

    Python还能这么玩之用Python修改了班花的开机密码

    今天带大家学习如何用Python修改开机密码,文中有非常详细的代码示例,喜欢恶作剧的小伙伴可以看一下,不过不要乱用哦,需要的朋友可以参考下...

    五包辣条!7942021-11-23
  • PythonPython 高级算法和数据结构:集合的快速查询与合并

    Python 高级算法和数据结构:集合的快速查询与合并

    在代码设计中时常面对这样的场景,给定两个元素,我们需要快速判断他们是否属于同一个集合,同时不同的集合在需要时还能快速合并为一个集合,例如...

    Coding迪斯尼8382022-01-11