首页 > 编程语言 >python 日志模块 loguru

python 日志模块 loguru

时间:2022-11-22 23:35:37浏览次数:41  
标签:__ log loguru python ini 日志 logger cfp

前言:日志模块定义好格式,之后直接拿来用即可

步骤一:先把日志里面的参数写到配置文件里,之后直接调用即可。这里用的是ini文件(新建一个ini结尾的文件)

[log]
format = {time:YYYY-MM-DD HH:mm:ss},{module}{line:{line}}{level}||{message}
level = ERROR
rotation = 100 MB
compression = zip
retention = 2 days

步骤二:新建一个日志类,并设置好日志文件的格式内容

from configparser import ConfigParser  #用来读取ini配置的模块、标准库
from loguru import logger
import time

class MyLog:__call_flag=True  #控制ini调用,如果调用过就直接返回logger就可以了

    def getLog(self):
        if self.__call_flag:
            __curdate = time.strftime("%Y%m%d%H%M%S")
            cfp=ConfigParser()  #读取ini 文件的一个实例对象
            cfp.read("../data/log.ini")  #读取配置文件(步骤一新建的文件位置) 结合自己配置文件所在位置更改
            logger.remove(handler_id=None) #关闭console 输出
            logger.add(f"../log/log_{__curdate}.log",   #生成的日志存放的位置
                       retention=cfp.get('log','retention'), #多长时间清理一次
                       rotation=cfp.get("log","rotation"), #循环,文件达到指定大小后建立新的日志
                       format=cfp.get("log","format"),    #日志输出格式
                       compression=cfp.get("log","compression"),  #日志压缩的格式
                       level=cfp.get("log","level"),    #日志级别
                       encoding="utf-8")
            self.__call_flag = False  #如果调用过就设置为False
        return logger

步骤三:其它类中要调用这个日志类,记录错误信息

class TestLogger:
    def surplus(self,a,b):
        try:
            res=a/b
            print(f"结果为:{res}")
        except Exception as e:
            MyLog().getLog().error(e)  #调用自己定义的log类,把错误信息写进去

if __name__ == '__main__':
    TestLogger().surplus(1,0)

调用执行结果:

标签:__,log,loguru,python,ini,日志,logger,cfp
From: https://www.cnblogs.com/yanghr/p/16916883.html

相关文章

  • Python学习笔记(五)
    函数定义Python的函数由函数头和函数体构成,结构如下:deffunction_name(parameters):"""docstring"""statement(s)returnPython函数定义必须以def关键词......
  • 第十四届蓝桥杯校内模拟赛第二期——Python
    第十四届蓝桥杯校内模拟赛第二期——Python目录第十四届蓝桥杯校内模拟赛第二期——Python第一题问题描述答案提交答案第二题问题描述答案提交答案第三题问题描述答案提交......
  • python打包工具distutils
    参考: http://www.cppcns.com/jiaoben/python/225742.htmlpython源码包安装:pythonsetup.pyinstalldistutilsdistutils是python标准库的一部分,这个库的目的是为开......
  • Kubernetes_静态Pod网关apiserver的audit审计日志
    前言审计日志是kube-apiserver中比较常见的一种加固手段,通过对每一次请求的行为进行审计,从而达到加固集群的目的,同时,审计日志还能够帮助我们troubleshooting,因为每一次......
  • freecplus框架-日志文件操作
    文章目录​​一、源代码说明​​​​二、日志文件的意义​​​​三、CLogFile类​​​​1、类的声明​​​​2、示例程序​​​​3、日志文件的切换​​​​四、获取视频教......
  • 日志监控平台搭建(Loki+promtail+grafana)
    搭建Loki+promtail+grafana日志监控平台,可以直接在grafana的UI界面查看系统应用日志,使日志查看起来更方便、快捷。   Loki:主服务器,负责存储日志和处理查询。......
  • Python基础之数据库:1、数据库发展史及常用数据库的介绍
    Python基础之数据库目录Python基础之数据库一、储存数据演变史1、文本文件2、软件开发目录规范3、数据库二、数据库软件应用史三、数据库的本质四、数据库的分类1、关系......
  • 弈悟计划——大一C程期末实验之五子棋AI的开发日志
    写在前面大一C程的期末作业,因为觉得从头学C太没意思,因此报了学校的什么挑战班(早知道不换了去混绩点了)由于本人懒得要死,刚开始想手搓GUI,然后看了各种图形界面感觉徒增烦恼......
  • Python函数的参数列表
    一、函数参数的分类函数的参数分为两类:形参及实参形参:形参是在创建过程中声明的参数,如果不给形参传入特定的实参,形参就没有实际的意义实参:实参是在函数的调用过程中传......
  • Python中除了lambda函数能实现一句话程序,还有什么方式能够实现呢?
    引言我们都知道python中使用lambda函数能够实现一句话程序,一句话能实现复杂功能,是一件多么炫酷的事情.但也是有利有弊的,至少一句话代码虽然简洁,但可读性不好,毕竟现实中......