当前位置: 首页 > news >正文

python日志记录工具:loguru日志库使用

文章目录

  • 一、使用loguru
    • 1、安装
    • 2、简单使用
    • 3、详细使用
    • 4、工具类
      • (1)logUtil.py
      • (2)测试类
      • (3)效果
  • 参考资料

一、使用loguru

1、安装

pip install loguru

2、简单使用

from loguru import logger# 打印到文件 + 控制台
logger.add('myloguru.log')logger.debug('hello, this debug loguru')
logger.info('hello, this is info loguru')
logger.warning('hello, this is warning loguru')
logger.error('hello, this is error loguru')
logger.critical('hello, this is critical loguru')

在这里插入图片描述

3、详细使用

import sysfrom loguru import loggerlogger.configure(handlers=[# 打印到控制台,sys.stderr表示控制台{"sink": sys.stderr,"format": "{time:YYYY-MM-DD HH:mm:ss.SSS} |<lvl>{level:8}</>| {name} : {module}:{line:4} | <cyan>{extra[module_name]}</> | - <lvl>{message}</>","colorize": True},# 输出到文件,文件名app.log{"sink": 'app.log',"format": "{time:YYYY-MM-DD HH:mm:ss.SSS} |{level:8}| {name} : {module}:{line:4} | {extra[module_name]} | - {message}","colorize": False,"rotation":"500 MB","compression":"zip"},
])# logger.add("file_1.log", rotation="500 MB")  # 自动循环过大的文件
# logger.add("file_2.log", rotation="12:00")  # 每天中午创建新文件
# logger.add("file_3.log", rotation="1 week")  # 一旦文件太旧进行循环
# logger.add("file_X.log", retention="10 days")  # 定期清理
# logger.add("file_Y.log", compression="zip")  # 压缩节省空间# 指定module_name,不同模块会打印模块名
logger = logger.bind(module_name='module1')logger.debug('this is debug')
logger.info('this is info')
logger.warning('this is warning')
logger.error('this is error')
logger.critical('this is critical')for i in range(9999):logger.debug('this is debug')

4、工具类

(1)logUtil.py

import sysfrom loguru import loggerdef getLogger():logger.configure(handlers=[# 打印到控制台,sys.stderr表示控制台{"sink": sys.stderr,"format": "{time:YYYY-MM-DD HH:mm:ss.SSS} |<lvl>{level:8}</>| {name} : {module}.{function}:{line:4} | <cyan>{extra[module_name]}</> | - <lvl>{message}</>","colorize": True},# 输出到文件,文件名app.log{"sink": 'app1.log',"format": "{time:YYYY-MM-DD HH:mm:ss.SSS} |{level:8}| {name} : {module}.{function}:{line:4} | {extra[module_name]} | - {message}","colorize": False,"rotation": "500 MB","compression": "zip"},])return logger

(2)测试类

import logUtil# 指定module_name,不同模块会打印模块名
logger = logUtil.getLogger().bind(module_name='module1')def printLog():logger.debug('this is debug')logger.info('this is info')logger.warning('this is warning')logger.error('this is error')logger.critical('this is critical')if __name__ == '__main__':printLog()

(3)效果

在这里插入图片描述

参考资料

https://blog.csdn.net/KiteRunner/article/details/129760831
官网:https://loguru.readthedocs.io/en/stable/index.html

http://www.lryc.cn/news/398134.html

相关文章:

  • python入门基础知识·二
  • 深度学习中的正则化技术 - 噪声鲁棒性篇
  • 如何通过 Java 来完成 zip 文件与 rar 文件的解压缩?
  • C 语言中的联合(Union)的用途是什么?
  • 汽车电子助力转向系统研究
  • 大数据学习之 scala基础(补充)
  • 正向传播和反向传播
  • 前端文件下载的方式
  • 视图库对接系列(GA-T 1400)十六、视图库对接系列(本级)通知(订阅回调)
  • Python | Leetcode Python题解之第230题二叉搜索树中第K小的元素
  • Python酷库之旅-第三方库Pandas(018)
  • 九科bit-Worker RPA 内容学习
  • vscode编译环境配置-golang
  • 【JavaEE】网络编程——UDP
  • JAVA毕业设计147—基于Java+Springboot的手机维修管理系统(源代码+数据库)
  • 力扣第228题“汇总区间”
  • 部署大语言模型并对话
  • WebSocket、socket.io-client
  • Maven 仓库
  • 给后台写了一个优雅的自定义风格的数据日志上报页面
  • 【React Native优质开源项目】
  • Android 自动更新时间的数字时钟 TextClock
  • 【Linux Git入门】Git的介绍
  • kafka面试题(基础-进阶-高阶)
  • 《系统架构设计师教程(第2版)》第11章-未来信息综合技术-07-大数据技术概述
  • 前端面试题54(断点续传讲解)
  • YOLOv10改进 | Conv篇 | RCS-OSA替换C2f实现暴力涨点(减少通道的空间对象注意力机制)
  • 【C++BFS】690. 员工的重要性
  • 视频调整帧率、分辨率+音画同步
  • 【深度学习】关于模型加速