简介

在部署一些定时运行或者长期运行的任务时,为了留存一些导致程序出现异常或错误的信息,通常会才用日志的方式来进行记录这些信息。

在 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

最新文章

  1. Java中String、StringBuffer、StringBuilder区别与理解
  2. Auty 2017——WebMonitor接口检测平台
  3. LDO和DC-DC器件的区别
  4. SQL简介
  5. centos升级mysql至5.7
  6. MVC上传文件示例
  7. Java多jdk安装
  8. php的curl获取https加密协议请求返回json数据进行信息获取
  9. Dynamices CRM Permission Issue (Security role UI to privilege mapping)'s solution
  10. ubuntu 14.下 netbeans 自体锯齿 消除
  11. Emotional Mastery——英语学习小技巧之一
  12. 关于oracle spfile配置文件问题
  13. Dubbo优雅关机原理
  14. Vue列表组件与弹窗组件示例
  15. BZOJ1563 NOI2009诗人小G(动态规划+决策单调性)
  16. TStream实现多表提交
  17. 如何:为iOS 的方法写注释 让xcode 能够索引得到?
  18. java中的复制数组arraycopy()
  19. is_file,is_dir,file_exists
  20. 20155304 2016-2017-2 《Java程序设计》实验五(网络编程与安全)实验报告

热门文章

  1. Django操作mongo数据库一(配置文件里写连接信息)
  2. [.Net] 【笔记】基于.NET平台常用的框架整理(转载,侵删)
  3. centos7下的apache2.4安全配置
  4. CPU、内存的占用率
  5. 更改ubuntu分辨率
  6. onedrive 不显示图标
  7. llinux day02 基础操作 帮助 文件管理 马
  8. 小程序modal弹窗
  9. centos7.9重启后,主机名会变为IP地址
  10. GSON 特殊类型支持序列化和反序列化,如LocalDateTime