Python 第三方日志框架loguru使用

作者:道理我都懂Zz 时间:2022-11-09 03:33:12 

解决中文乱码问题

项目地址 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日志")

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

Python 第三方日志框架loguru使用

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

Python 第三方日志框架loguru使用

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使用

来源:https://www.cnblogs.com/wenqiangit/p/11194551.html

标签:Python,日志框架,loguru
0
投稿

猜你喜欢

  • vue button的@click方法无效钩子函数没有执行问题

    2024-06-05 10:02:51
  • python定义具名元组实例操作

    2023-05-16 22:22:55
  • bpython 功能强大的Python shell

    2022-05-08 22:12:06
  • 如何利用Python开发一个简单的猜数字游戏

    2022-05-21 20:38:08
  • javascript生成随机大小写字母的方法

    2024-04-30 09:53:33
  • python包pdfkit(wkhtmltopdf) 将HTML转换为PDF的操作方法

    2022-11-14 18:37:28
  • python方法如何实现字符串反转

    2022-10-26 22:07:03
  • 使用Java实现先查询缓存再查询数据库

    2024-01-14 02:18:05
  • 如何防止未经注册的用户绕过注册界面直接进入应用系统?

    2009-11-22 19:22:00
  • 基于Python实现人脸识别和焦点人物检测功能

    2021-03-09 10:27:45
  • 白 刃之战:PHP vs. ASP.NET(节选)-架构比较

    2023-11-15 12:31:22
  • pandas基于时间序列的固定时间间隔求均值的方法

    2022-05-22 11:44:38
  • go Antlr重构脚本解释器实现示例

    2024-04-26 17:19:44
  • 微信小程序实现计算器(含历史记录)

    2024-04-17 10:30:20
  • Python for Informatics 第11章之正则表达式(四)

    2023-06-15 04:48:39
  • Django中QuerySet查询优化之prefetch_related详解

    2022-02-03 04:18:44
  • 浅谈Python 函数式编程

    2022-09-03 20:38:07
  • python 获取计算机的网卡信息

    2023-08-11 21:12:06
  • python图像填充与裁剪/resize的实现代码

    2022-07-12 07:49:15
  • python实现DNS正向查询、反向查询的例子

    2022-10-29 07:18:55
  • asp之家 网络编程 m.aspxhome.com