首页 > 其他分享 >loguru简单使用

loguru简单使用

时间:2024-02-10 20:22:07浏览次数:23  
标签:log loguru 简单 add 使用 import 日志 logger

1.安装

pip install loguru

2.简单使用
from loguru import logger

logger.debug("xxx")
logger.info("xxx")
logger.waring("xxx")
...

3.add函数
logger的add函数可以配置Handler、Formatter、Filter等。
示例:
import sys
from loguru import logger

logger.add(sys.stderr, format="{time} {level} {message}", filter="my_module", level="INFO")

logger.debug("This is a new log message")

4.取消控制台打印
from loguru import logger

logger.remove(handler_id=None)

5.输出到日志文件
from loguru import logger

logger.add("runtime.log") # 普通指定

logger.add("runtime_{time}.log") # 通过添加占位符,指定带时间的日志文件

6.日志滚动
logger.add("filename.log", rotation="500 MB")
# 通过这样的配置,实现每500 MB存储一个文件,文件过大时会创建新的日志文件,可以在创建文件时添加{time}占位符,这样可以在生成时自动替换进去。

# rotation参数其他举例:
"12:00" # 每天中午12点自动创建新的日志文件
"1 week" # 每周自动创建新的日志文件

7.指定日志保留时长
logger.add("filename.log",retention="10 days")

8.配置日志文件压缩方式
logger.add("filename.log",compression="zip")

9.异常捕获
catch装饰器
from logger import loguru

@logger.catch
def my_function():
pass

当函数发生异常时,会打印详细的异常traceback信息。

也可以在自己捕获异常出,使用logger.exception()方法记录异常,同样打印详细的异常traceback信息。


10.loguru的logger对象可以在多模块,多线程使用,是线程安全的。

 

标签:log,loguru,简单,add,使用,import,日志,logger
From: https://www.cnblogs.com/CJTARRR/p/18013027

相关文章

  • 单机版 Xxl-Job 分布式定时任务调度的部署和使用
    Xxl-Job是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。本篇博客主要介绍如何进行单机版部署和使用,并在博客最后提供源代码下载。Gitee地址:https://gitee.com/xuxueli0323/xxl-jobGitHub地......
  • 【Azure Function】Azure Function中使用 Java 8 的安全性问题
    问题描述使用AzureFunction,环境是Linux的Java8。目前OracleJavaJDK8,11,17和OpenJDK8/11/17都在存在漏洞受影响版本的范围内。OpenJDK                 CVEnumbers:    CVE‑2023‑21954CVE‑2023‑21938CVE‑2023‑21937CVE......
  • Locust简单学习记录
    locust性能测试框架1、locust原理(感觉讲的很好,完全摘抄的,原地址:https://www.cnblogs.com/ywt798/p/16138472.html)  locust为什么能够识别写的代码和运行?locust基于两个类,继承两个类才能实现模拟用户行为:TaskSet类(模拟请求的行为,任务):locust里面的类,继承Task......
  • 使用FluentScheduler和IIS预加载在asp.net中实现定时任务管理
    FluentScheduler介绍github地址:https://github.com/fluentscheduler/FluentSchedulerFluentScheduler是一个简单的任务调度框架,使用起来非常方便,这个框架也是我在搜索iis预加载的时候偶然间发现的,立马拿来试用一下,感觉爽呆了,当然还有Quarz.Net之类的其他任务管理框架,不过看配置......
  • Mac 电脑下的一些快捷键及功能使用
    复制粘贴复制粘贴command+ccommand+v剪切粘贴command+ccommand+option+v指定目录打开terminal右键点击目录+option->Services->NewTreminalatFolder复制指定目录的路径多种方式command+option+coption+右键copyxxxasPathnameElmed......
  • 8.Prism聚合器的使用IEventAggregator
    IEventAggregator是一个事件聚合器,用于在不同模块之间进行通信。它允许模块之间进行解耦,通过发布和订阅事件来实现通信。在使用WPFprismIEventAggregator时,你可以创建自定义事件,订阅事件并在需要时发布事件。这样可以实现模块之间的松耦合,提高代码的可维护性和可扩展性。 ......
  • 为什么vue3内不使用this
    在Vue3中,this 的使用受到了限制,主要是因为在Vue3中引入了CompositionAPI,它提供了一种更灵活、更可组合的方式来组织和管理组件的逻辑。在CompositionAPI中,不再使用传统的选项(如 data、methods、computed 等)来定义组件的逻辑,而是使用 setup 函数来组织逻辑。在 s......
  • java中使用opencl操作GPU
    需要管理GPU资源,使用java编写,选用opencl框架,并且选择org.jocl包(<dependency><groupId>org.jocl</groupId><artifactId>jocl</artifactId><version>2.0.5</version></dependency>)。具体opencl原理此处不涉及,仅记录使用java该如何做基本操作。最少要以下几步,详细可以参看:ht......
  • 力扣递归 两道简单题合成一道中等题之148. 排序链表
    递归归并排序,先找到终点,再合并两个链表 给你链表的头结点 head ,请将其按升序排列并返回排序后的链表。 示例1:输入:head=[4,2,1,3]输出:[1,2,3,4]示例2:输入:head=[-1,5,3,4,0]输出:[-1,0,3,4,5]示例3:输入:head=[]输出:[]/** *Definitionforsingl......
  • 使用 Makefile 进行项目管理和构建
    使用Makefile进行项目管理和构建来源  https://zhuanlan.zhihu.com/p/661285050 什么是Makefile?Makefile可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。其中包含了那些文件需要编译,那些文件不需要编译,那些文件需要先编译,那些文件需要后编译......