【loguru】Python简单的日志管理模块
2024-10-21 11:48:58
简介
在部署一些定时运行或者长期运行的任务时,为了留存一些导致程序出现异常或错误的信息,通常会才用日志的方式来进行记录这些信息。
在 Python 中用到日志记录,那就不可避免地会用到内置的 logging标准库 。虽然logging 库采用的是模块化设计,你可以设置不同的 handler 来进行组合,但是在配置上通常较为繁琐;而且如果不是特别处理,在一些多线程或多进程的场景下使用 logging还会导致日志记录会出现错乱或是丢失的情况。
但有这么一个库,它不仅能够减少繁琐的配置过程还能实现和logging类似的功能,同时还能保证日志记录的线程进程安全,又能够和logging 相兼容,并进一步追踪异常也能进行代码回溯,这个库叫loguru。
loguru 库的使用可以说是十分简单,我们直接可以通过导入它本身封装好的logger 类就可以直接进行调用。
调用
from loguru import logger
logger.debug('调试消息')
logger.info('普通消息')
logger.warning('警告消息')
logger.error('错误消息')
logger.critical('严重错误消息')
logger.success('成功调用')
保存
- 循环,rotation,达到指定大小后建新日志。
- 保留,retention,定期清理。
- 压缩,compression,压缩节省空间。
from loguru import logger
logger.add("file_1.log", rotation="500 MB") # 自动循环过大的文件
logger.add("file_2.log", rotation="12:00") # 每天中午创建新文件
logger.add("file_3.log", rotation="1 week") # 一旦文件太旧进行循环
logger.add("file_X.log", retention="10 days") # 定期清理
logger.add("file_Y.log", compression="zip") # 压缩节省空间
logger.add("log_{time}.log", encoding='utf-8') # 以时间命名
装饰器
from loguru import logger
@logger.catch
def func():
pass
参考
https://blog.csdn.net/lly1122334/article/details/107516039
https://blog.csdn.net/bailang_zhizun/article/details/107863671
https://zhuanlan.zhihu.com/p/514838075
https://www.jianshu.com/p/5aead7b6a7a9
最新文章
- Java中String、StringBuffer、StringBuilder区别与理解
- Auty 2017——WebMonitor接口检测平台
- LDO和DC-DC器件的区别
- SQL简介
- centos升级mysql至5.7
- MVC上传文件示例
- Java多jdk安装
- php的curl获取https加密协议请求返回json数据进行信息获取
- Dynamices CRM Permission Issue (Security role UI to privilege mapping)'s solution
- ubuntu 14.下 netbeans 自体锯齿 消除
- Emotional Mastery——英语学习小技巧之一
- 关于oracle spfile配置文件问题
- Dubbo优雅关机原理
- Vue列表组件与弹窗组件示例
- BZOJ1563 NOI2009诗人小G(动态规划+决策单调性)
- TStream实现多表提交
- 如何:为iOS 的方法写注释 让xcode 能够索引得到?
- java中的复制数组arraycopy()
- is_file,is_dir,file_exists
- 20155304 2016-2017-2 《Java程序设计》实验五(网络编程与安全)实验报告