首页 > 其他分享 >日志模块——loguru的使用

日志模块——loguru的使用

时间:2023-12-01 17:35:05浏览次数:38  
标签:模块 loguru add file path 日志 logger log

安装

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日志")

 

 

 

 

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}")

 

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("严重错误")

标签:模块,loguru,add,file,path,日志,logger,log
From: https://www.cnblogs.com/wellplayed/p/17870571.html

相关文章

  • Hadoop 配置日志聚集
    本文章的前置Hadoop-3.3.6分布式集群搭建步骤概念:集群中的每台Hadoop节点的运行都会产生日志,开启日志聚集后,将所有运行日志信息上传到HadoopHDFS系统上,可以更好的查看运行详情,方便开发及调试。注意:需要重启NodeManage、ResourceManager和HistoryServer来开启日志聚集功能。1.......
  • Python日志库Loguru教程
    标题Python日志库Loguru教程(最人性化的Python日志模块)1.What:我们需要一个什么样的日志库可以区分不同类型的日志:正常,警告,错误,严重。可以配置指定的日志文件名称。可以配置指定的日志格式。可以把不同的日志类型写到不同的文件中。可以配置按照时间,文件大小等条件对日志文......
  • 高通4G全网通模块MSM8909 (ARM Cortex-A7架构),arm核心板
    高通4G全网通模块MSM8909(ARMCortex-A7架构),arm核心板-ARM技术论坛-电子技术论坛-广受欢迎的专业电子论坛!https://bbs.elecfans.com/jishu_1461523_1_1.html 核心板特性A7架构4核(4*1.1GHz(A7))产品尺寸小,便于客户集成,减少产品体积;支持4GLTE超高速上网,单板兼容移动......
  • 选择正确的DC电源模块的重要性
    选择正确的DC电源模块的重要性选择正确的BOSHIDADC电源模块非常重要,因为: 1.保障设备安全:电源模块的选择直接影响到设备的稳定性和可靠性。选择错误的电源模块可能会导致设备损坏甚至危及人身安全。2.提高设备性能:选择适合的电源模块可以提高设备的效率和性能,保证设备正常......
  • 在Unity中模块化管理自定义功能和资源
    之前在做Unity项目时,有时会遇到多个项目共用同一部分代码或资源的情况。而当被共用的部分需要更新的时候,手动复制替换非常麻烦,并且可能会有遗漏。对于这个问题,一个很好的解决办法是将可复用的文件打包为自定义包(CustomPackage),使用git等版本控制工具来管理每个包的内容。什么是Pa......
  • 【Nginx38】Nginx学习:SSL模块(二)错误状态码、变量及宝塔配置分析
    Nginx学习:SSL模块(二)错误状态码、变量及宝塔配置分析继续我们的SSL模块的学习。上回其实我们已经搭建起了一个HTTPS服务器了,只用了三个配置,其中一个是listen的参数,另外两个是指定密钥文件的地址,一个是crt文件,一个是key文件。今天我们将学习到的是SSL中的错误状态码、变......
  • NI-9236 国产化10 kS/s/ch,350 Ω四分之一桥应变计,8通道C系列应变/桥输入模块
    10kS/s/ch,350Ω四分之一桥应变计,8通道C系列应变/桥输入模块NI‑9236可同步测量所有通道的动态应变,从而实现了高速同步测量。该功能对于需要在特定时刻对多个通道进行比较的应用(例如冲击测试)非常重要。\n\nNI‑9236具有用于四分之一桥传感器的内置电压激励。它还具有60 VDC隔离......
  • NI-9219 100 S/s/ch国产化4通道C系列通用多功能模拟输入模块,支持多种传感器
    100S/s/ch,4通道C系列通用模拟输入模块NI-9219专为多功能测试而设计。NI-9219可用于测量来自多种传感器(如应变计,电阻温度检测器(RTD),热电偶,测压元件和其他有源传感器等)的信号,以及制作1/4桥,半桥和全桥电流测量,且具有内置电压和电流激励。您可以在每个通道上分别选择,从而执行不同的测......
  • NI USB9218国产对标51.2 kS/s/ch,2通道C系列通用模拟输入模块
    51.2kS/s/ch,2通道C系列通用模拟输入模块NI‑9218专为多用途测量而设计。它使用针对特定测量的适配器提供了对加速度计、供电传感器、全桥和电压测量以及四分之一桥、半桥、60V和电流测量的内置支持。每个通道可单独选择,因而用户可在各个通道上进行不同的测量。 NI‑9218是开发......
  • ClickHouse + ClickVisual 构建日志平台
    越来越多的互联网公司开始尝试ClickHouse存储日志,比如映客、快手、携程、唯品会、石墨文档,但是ClickHouse存储日志缺少对应的可视化方案,石墨文档开源了ClickVisual用于解决这个问题。笔者初步尝试了一下ClickVisual,一点小小的实践经验,与各位分享。简介ClickVisual官方宣......