Loguru是啥?
Loguru是一个日志记录神器,具备多种方式滚动日志,压缩,定时删除等功能;而且还有日志高亮,日志告警等功能;
使用Loguru
使用之前可以参考Loguru 的官方文档:github地址
首先是安装Loguru
安装方式推荐有很多种,推荐使用pip;
pip 是 Python 的包安装程序。其实,pip 就是 Python 标准库(The Python Standard Library)中的一个包,只是这个包比较特殊,用它可以来管理 Python 标准库(The Python Standard Library)中其他的包。pip 是一个命令行程序。 安装 pip 后,会向系统添加一个 pip 命令,该命令可以从命令提示符运行。
安装pip:
- 安装python; 这个是必须安装的;
- 下载pip:
官网地址:https://pypi.org/project/pip/#downloads; 下载完毕后,解压
- 打开命令行窗口,进入到pip解压后的目录;执行代码
python3 setup.py install
进行安装,
安装完成后,将pip加入到系统环境变量中
- 打开命令行窗口,进入到pip解压后的目录;执行代码
- 验证
打开命令行窗口,输入pip list 或者pip3 list
以上只针对于windows系统,其他系统也可以参考;
安装所需库:
打开命令行窗口,输入执行以下代码,并回车pip install loguru
等待提示第三库安装成功既可;
测试loguru:
- 输出日志到终端;
# pip install loguru import loguru logger = loguru.logger logger.debug("log debug test")
- 把日志输出到文件
```pypip install loguru
import loguru
logger = loguru.logger
logger.add("file_{time}.log")
logger.debug("log debug test")
运行代码,就会在当前运行的文件夹下生成 file_当前时间.log 的日志文件
- 滚动日志
实现日志滚动,就需要在 logger.add 参数中添加一个 rotation 参数:
```py
logger.add("file.log",rotation="1 MB",level="INFO")
logger.add("file.log",rotation="23:00",level="INFO")
rotation 支持时间点和大小;
时间滚动:如果当前时间过了这个设定的时间,它就会生成一个新的日志文件。
大小滚动:一旦日志文件大小超过 1 MB 就会产生新的日志文件
level参数用于控制输出到文件的日志级别
- 压缩日志
在 logger.add 参数中添加一个 compression参数:
import loguru
logger = loguru.logger
logger.add("file.log",compression="zip")
logger.debug("log debug test")
logger.info("log info test")
每次运行都会生成一个zip文件;然后上传输出的zip文件会改名;如下
- 输出Backtrace
Loguru 允许显示整个堆栈信息;只需要在 logger.add 参数添加两个参数
logger.add("out.log", backtrace=True, diagnose=True) # Caution, may leak sensitive data in prod
- 邮件告警
Loguru 可以和强大的邮件通知模块 notifiers 库结合使用,实现邮件告警功能。
核心代码如下:
#pip install notifiers
from notifiers.logging import NotificationHandler
handler = NotificationHandler("gmail", defaults={
认证参数})
logger.add(handler, level="ERROR")
另外:
Loguru 还支持与 Python 原生的 Logging 模块兼容使用,可以将原始的标准日志记录器记录的所有信息转移到Loguru中。