python知识点100篇系列(24)- 简单强大的日志记录器loguru

简介: 【10月更文挑战第11天】Loguru 是一个功能强大的日志记录库,支持日志滚动、压缩、定时删除、高亮和告警等功能。安装简单,使用方便,可通过 `pip install loguru` 快速安装。支持将日志输出到终端或文件,并提供丰富的配置选项,如按时间或大小滚动日志、压缩日志文件等。还支持与邮件通知模块结合,实现邮件告警功能。

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 list 或者pip3 list
    在这里插入图片描述

以上只针对于windows系统,其他系统也可以参考;

  • 安装所需库:
    打开命令行窗口,输入执行以下代码,并回车

    pip install loguru

    等待提示第三库安装成功既可;

测试loguru:

  • 输出日志到终端;
    # pip install loguru
    import loguru
    logger = loguru.logger
    logger.debug("log debug test")
    
  • 把日志输出到文件
    ```py

    pip 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中。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
8月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
689 0
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
365 22
|
API 开发工具 Python
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
调度 Python
python知识点100篇系列(20)-python协程与异步编程asyncio
【10月更文挑战第8天】协程(Coroutine)是一种用户态内的上下文切换技术,通过单线程实现代码块间的切换执行。Python中实现协程的方法包括yield、asyncio模块及async/await关键字。其中,async/await结合asyncio模块可更便捷地编写和管理协程,支持异步IO操作,提高程序并发性能。协程函数、协程对象、Task对象等是其核心概念。
364 3
|
Python
python读写操作excel日志
主要是读写操作,创建表格
233 2
|
自然语言处理 Python Windows
python知识点100篇系列(23)- 使用stylecloud生成词云
【10月更文挑战第10天】`stylecloud` 是 `wordcloud` 的优化版,支持使用 Font Awesome 图标自定义词云形状,操作更简便。本文介绍如何安装 `jieba` 和 `stylecloud` 库,并使用它们生成中文词云。通过 `jieba` 进行分词,再利用 `stylecloud` 的 `gen_stylecloud` 方法生成具有特定形状和颜色的词云图像。
518 0
python知识点100篇系列(23)- 使用stylecloud生成词云
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
486 1
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
1932 1
|
JSON 算法 数据格式
Python知识点总结篇(4)
Python知识点总结篇(4)
206 0
Python知识点总结篇(4)

推荐镜像

更多