Python 第三方日志框架loguru使用

 更新时间:2021年05月13日 14:20:17   作者:道理我都懂Zz  
使用Python自带的logging模块记录日志,但是总觉得不够优雅。 Loguru解决了这个问题,接下来通过本文给大家介绍Python 第三方日志框架loguru使用,感兴趣的朋友跟随小编一起看看吧

解决中文乱码问题

项目地址 github: https://github.com/Delgan/loguru
文档:https://loguru.readthedocs.io/en/stable/index.html

安装

pip install loguru

1、输出日志

from loguru import logger
logger.debug("这是一条debug日志")

终端执行后出现带颜色的日志,挺酷的

2、输出到文件

from loguru import logger

logger.add("file_{time}.log")

logger.debug("这是一条debug日志")
logger.info("这是一条info日志")

目录下多出一个日志文件 :file_2019-03-14_19-53-25_661314.log

3、日志规则

设置日志格式,过滤器,日志级别

from loguru import logger

logger.add("file.log", format="{time} {level} {message}", filter="", level="INFO")

logger.debug("这是一条debug日志")
logger.info("这是一条info日志")

输出

2019-03-14T20:01:25.392454+0800 INFO 这是一条info日志

4、日志文件

文件管理方式

logger.add("file_1.log", rotation="500 MB")    # 文件过大就会重新生成一个文件
logger.add("file_2.log", rotation="12:00")     # 每天12点创建新文件
logger.add("file_3.log", rotation="1 week")    # 文件时间过长就会创建新文件

logger.add("file_X.log", retention="10 days")  # 一段时间后会清空

logger.add("file_Y.log", compression="zip")    # 保存zip格式

5、其他参数

logger.add("somefile.log", enqueue=True)  # 异步写入

logger.add("somefile.log", serialize=True)  # 序列化为json

6、时间格式化

logger.add("file.log", format="{time:YYYY-MM-DD at HH:mm:ss} | {level} | {message}")

配合notifiers模块
github: https://github.com/notifiers/notifiers
文档:https://notifiers.readthedocs.io/en/latest/

7、在工程中创建多个文件处理器对象并解决中文乱码问题

# coding=utf-8
import os
import sys
from loguru import logger

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

log_file_path = os.path.join(BASE_DIR, 'Log/my.log')
err_log_file_path = os.path.join(BASE_DIR, 'Log/err.log')

logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO")
# logger.add(s)
logger.add(log_file_path, rotation="500 MB", encoding='utf-8')  # Automatically rotate too big file
logger.add(err_log_file_path, rotation="500 MB", encoding='utf-8',
           level='ERROR')  # Automatically rotate too big file
logger.debug("That's it, beautiful and simple logging!")
logger.debug("中文日志可以不")
logger.error("严重错误")

以上就是Python 第三方日志框架loguru使用的详细内容,更多关于Python 日志框架loguru的资料请关注脚本之家其它相关文章!

相关文章

  • Python操作json的方法实例分析

    Python操作json的方法实例分析

    这篇文章主要介绍了Python操作json的方法,结合实例形式简单分析了Python针对json数据使用解码loads()和编码dumps()相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • Python实现简易凯撒密码的示例代码

    Python实现简易凯撒密码的示例代码

    密码的使用最早可以追溯到古罗马时期,《高卢战记》有描述恺撒曾经使用密码来传递信息,即所谓的“恺撒密码”。本文将利用Python实现简易的凯撒密码,感兴趣的可以了解一下
    2022-09-09
  • python+mysql实现简单的web程序

    python+mysql实现简单的web程序

    上篇文章我们介绍了简单的Python web程序,实现hello world,本文我们来结合一下mysql,实现对数据库的简单操作,希望对大家有所帮助
    2014-09-09
  • Python脚本实现图片文件批量命名

    Python脚本实现图片文件批量命名

    这篇文章主要为大家详细介绍了一个用python第三方库pillow写的批量处理图片命名的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2025-02-02
  • python爬虫MeterSphere平台执行报告使用实战

    python爬虫MeterSphere平台执行报告使用实战

    这篇文章主要为大家介绍了python爬虫MeterSphere平台执行报告使用实战,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • python的import 机制是怎么实现的

    python的import 机制是怎么实现的

    这篇文章主要介绍了python的import 机制是怎么实现的,import有Python运行时的全局模块池的维护和搜索、解析与搜索模块路径的树状结构等作用,下文具体相关介绍需要的小伙伴可以参考一下
    2022-05-05
  • 解决python错误提示:TypeError: expected string or bytes-lik问题

    解决python错误提示:TypeError: expected string or&nb

    这篇文章主要介绍了解决python错误提示:TypeError: expected string or bytes-lik问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Python并发编程之未来模块Futures

    Python并发编程之未来模块Futures

    这篇文章主要为大家介绍了Python的未来,python并发编程之未来模块Futures的详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python实现剪切功能

    python实现剪切功能

    这篇文章主要为大家详细介绍了一段python代码编写实现的剪切功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Python中不可忽视的docstring妙用

    Python中不可忽视的docstring妙用

    docstring是Python中用于记录模块、类、方法和函数行为的字符串,帮助开发者和用户快速了解代码的功能和用法,本文将详细介绍docstring的使用,需要的可以参考下
    2024-12-12

最新评论