Loguru 一个能彻底解放你的日志记录器。

它即插即用,具备多种方式滚动日志、自动压缩日志文件、定时删除等功能。
除此之外,多线程安全、高亮日志、日志告警等功能也不在话下。
下面就给大家介绍一下这个强大工具的基本使用方法。
Loguru 安装方式很简单,打开终端输入:

pip install loguru

即可完成安装。

1.即开即用

在Loguru中,如果你需要输出 debug 日志到终端,可以这么做:

from loguru import loggerlogger.debug("That's it, beautiful and simple logging!")

其输出自带高亮:

如果你需要把日志输出到文件,只需要这样:

from loguru import logger
logger.add("file_{time}.log")
logger.debug("That's it, beautiful and simple logging!")

这样就会在当前运行的文件夹下生成 file_当前时间.log 的日志文件:

2.滚动日志与压缩

使用 Loguru 我们可轻易地实现滚动日志。

按时间滚动

比如按时间滚动,我们只需要在 logger.add 参数中添加一个 rotation 参数:

from loguru import logger
logger.add("file_2.log", rotation="12:00") # 每天12:00会创建一个新的文件
logger.debug("That's it, beautiful and simple logging!")

这样,如果当前时间过了这个设定的时间,它就会生成一个新的日志文件。如果没有则使用原来的日志文件:

如图所示,过了设定的时间,则将原来的 file_2.log 重命名,并添加一个新的 file_2.log 文件。

按大小滚动

除了按时间滚动日志外,Loguru 还可以按日志大小滚动:

from loguru import logger
logger.add("file_1.log", rotation="1 MB") # 滚动大日志文件
logger.debug("That's it, beautiful and simple logging!")

这样,一旦日志文件大小超过 1 MB 就会产生新的日志文件。

压缩日志

如果你不想删除原有日志文件,Loguru 还支持将日志直接压缩:

from loguru import logger
logger.add("file_Y.log", compression="zip") # 压缩日志

3.其他特性

自定义颜色

Loguru 是支持自定义颜色的,如果你不喜欢它默认的颜色,可以这么改:

logger.add(sys.stdout, colorize=True, format="<green>{time}</green> <level>{message}</level>")

类似于HTML标签 标签中间的文字将会被标记为绿色。

多进程安全

Loguru 默认情况下是线程安全的,但它不是多进程安全的。不过如果你需要多进程/异步记录日志,它也能支持,只需要添加一个 enqueue 参数:

logger.add("somefile.log", enqueue=True)

支持Backtrace

对于日志而言,没有错误堆栈的日志是没有灵魂的。Loguru 允许显示整个堆栈信息来帮助你发现问题(包括变量)。

比如下面这个例子:

logger.add("out.log", backtrace=True, diagnose=True) # Caution, may leak sensitive data in proddef func(a, b):return a / bdef nested(c):try:func(5, c)except ZeroDivisionError:logger.exception("What?!")nested(0)

日志将会是这样的:

非常清晰明了。

邮件告警

Loguru 可以和强大的邮件通知模块 notifiers 库结合使用,以在程序意外失败时接收电子邮件,或发送许多其他类型的通知。

import notifiersparams = {"username": "you@gmail.com","password": "abc123","to": "dest@gmail.com"
}# 初始化时发送一封邮件
notifier = notifiers.get_notifier("gmail")
notifier.notify(message="The application is running!", **params)# 发生Error日志时,发邮件进行警报
from notifiers.logging import NotificationHandlerhandler = NotificationHandler("gmail", defaults=params)
logger.add(handler, level="ERROR")

这样配置之后,每次产生 Error 日志,程序都会自动向你的邮箱发送告警,真的极其方便。

除了这些特性外,Loguru 还支持与 Python 原生的 Logging 模块兼容使用,你可以将原始的标准日志记录器记录的所有信息转移到Loguru中。

你还可以基于 Loguru 定制新的日志 Level,定制自己喜欢的结构化数据,详情可见 Loguru 的官方文档:

https://github.com/Delgan/loguru

Python 日志模块Loguru的使用相关推荐

  1. python日志模块方法_python日志模块logbook使用方法

    python自带了日志模块logging,可以用来记录程序运行过程中的日志信息.同时python还有logbook模块用来取代logging模块,在很多的项目中logbook模块使用也是比较的多,因此 ...

  2. Python日志模块

    一.loguru的使用 Loguru 一个能彻底解放你的日志记录器. 它即插即用,具备多种方式滚动日志.自动压缩日志文件.定时删除等功能. 除此之外,多线程安全.高亮日志.日志告警等功能也不在话下. ...

  3. python日志模块_Python之日志处理(logging模块)

    转载自:https://www.cnblogs.com/yyds/p/6901864.html 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logg ...

  4. Django中间件与python日志模块 介绍

    一.Django中间件 1.1 介绍 Django中的中间件是一个轻量级.底层的插件系统,介于request与response处理之间的一道处理过程(用来处理特定业务的请求和响应).中间件的设计为开发 ...

  5. Python日志模块logging高级用法

    推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,2021年12月第11次印刷,山东省一流 ...

  6. python 日志模块--python logbook使用方法

    python自带了日志模块logging,可以用来记录程序运行过程中的日志信息.同时python还有logbook模块用来取代logging模块,在很多的项目中logbook模块使用也是比较的多,因此 ...

  7. Python日志模块logging,这一篇就够了

    ​ 橙好科技logging模块教程 文章目录 1-logging介绍 2-日志作用 3-日志配置basicConfig 3-日志级别level 4-日志格式format 4-输出日志到控制台 5-输出 ...

  8. Python日志模块log

    1. 日志介绍 也就是日记,程序运行过程中产生的信息,程序如何运行的信息(什么时间做了什么) 日志即可以在终端中显示,也可以直接到文件当中显示 日志的作用:方便定位,记录 日志包含的信息:日期,等级, ...

  9. python3中超级好用的日志模块-loguru模块详解

    一. 使用logging模块时 用python写代码时,logging模块最基本的几行配置,如下: import logging logging.basicConfig(level=logging.I ...

最新文章

  1. [C#]面向对象设计
  2. c语言中的数字菱形,打印数字菱形,急啊,帮帮小女子啊。。。
  3. Java集合篇:Vector
  4. oracle split函数用法_「干货」Python字符串中的split方法
  5. wordpress教程:默认http头信息X-Pingback的隐藏与修改
  6. vue 插槽 有名插槽
  7. 关于百万用户服务器架构能力(一)QQ游戏服务器架构
  8. VC开发过程中数据类型不兼容的问题
  9. 视频教程-Mugeda(木疙瘩)H5案例课—快闪制作-HTML5/CSS
  10. 合理使用计算机教学反思,生物学课堂中采用计算机多媒体的教学反思
  11. java 汉字笔画_java如何获取笔画
  12. 图书信息管理系统 数据结构 C语言版
  13. Git Cheat Sheet 中文版
  14. 智慧工厂数字孪生 数字孪生工厂 工厂数字孪生
  15. js cookie 数组 存读
  16. fp函数式编程_全面了解函数式编程(FP)
  17. 实战踩坑---MFC---CreateEvent
  18. 如何使用 FFmpeg 进行图片压缩与制作视频酷游连结
  19. Excel单元格黄色叹号 绿色三角形 去掉方法
  20. 论文系统Step1:从日志记录中提取特定信息

热门文章

  1. linux centos7使用,linux之centos7防火墙基本使用
  2. vba数组下标越界_VBA编程知识点(7)——数组基本知识
  3. 201128阶段二MVC框架模式、FFmpeg
  4. 200820C阶段一通用链表
  5. USB接口的键盘描述符范例
  6. Java基础 — 异常
  7. 达梦数据迁移工具的使用
  8. bash shell基础之三字符串测试及for循环
  9. Java学习笔记50:JSONObject与JSONArray的使用
  10. 以 DirectUI 方式实现的ImageButton