Python 中 logging 模块使用详情

2024-05-13

1. Python 中 logging 模块使用详情

 在实际应用中,日志文件十分重要,通过日志文件,我们知道程序运行的细节;同时,当程序出问题时,我们也可以通过日志快速定位问题所在。在我们写程序时,也可以借助 logging 模块的输出信息来调试代码。
    但是很多人还是在程序中使用print()函数来输出一些信息,比如: 
   这样用的话缺点很明显,当程序写好运行时,我们要把这些print()函数删掉,在简单的的程序中用还行,当程序比较复杂时,这个办法很低效。
   如果使用  logging  模块,看看效果
    运行结果如下: 
   你也许会问,这和  print()  函数有什么区别呢?区别就在于,logging模块可以通过改变level来控制一些语句是否被输出,比如当我们把level改成DEBUG级别:
    得到输出如下: 
     logging   模块是python自带的一个包,因此在使用的时候,不必安装,只需要import即可。有5个level,分别是debug,主要是查看一下程序运行的信息,一般是调试程序要看的信息;info,是我们看程序是否如预料执行的信息;warn,意料之外的,但是不影响程序运行;  error  和  critical  就是一些比较严重的问题,会影响程序运行。默认leval是warn,这个时候debug级别和info级别就不会被输出到日志里了。如果想要看到这些信息,就需要进行一些设置。
   我们主要调用  basicConfig(***kwargs*)  这个函数对  logging  进行设置。
    常用的参数如下: 
    我们通过调整format,可以输出我们想要的格式,比如: 
    结果是: 
   这就是在  format  参数中设置了时间的,所以得到了时间,我们可以输出多种想要的信息
    总结: 
   本文主要介绍了  logging  模块的基础用法,除非是自己写的小脚本中我们使用print()函数,其他情况下最好还是用logging模块来打印信息,输出日志吧。    

Python 中 logging 模块使用详情

2. Python日志模块介绍

  logging 模块预定义了5种日志级别,并根据它们所跟踪的事件的级别或严重程度来命名,具体如下:
    注意: 
    Logger 对象有三个功能:
    Logger 对象的使用最广泛的方法主要是:配置和记录消息
   当配置了 Logger 对象后,就可以使用 Logger.debug() ,  Logger.info() ,  Logger.warning ,  Logger.error ,  Logger.critical()  方法来创建日志消息,只需将需要记录的消息写进括号内即可
    Handler 对象负责将日志消息(基于日志消息的严重性)分派给处理器的指定目标。在上一步中提到,可以使用 Logger.addHandler() 来添加零个或多个处理器对象。例如,算法可以将所有日志消息都发送到控制台,将 ERROR 或者更高级别的消息发送到磁盘文件。这就需要两个单独的处理器。
   处理器有很多 种类 ,常用的主要有以下几种:
    Formatter 对象是用来配置日志消息的最终输出形式。其格式由 %()s 这样的表达形式来组合成字符串。例如:
   其中,可以设置的可参考 LogRecord属性 
   配置完后,我们就可以在我们算法想要进行日志记录的地方调用 Logger.debug() ,  Logger.info() ,  Logger.warning ,  Logger.error ,  Logger.critical() 来进行日志输出了。比如:
   当运行算法时,你会看到控制台输出以下内容
    https://docs.python.org/3/howto/logging.html#logging-howto 
最新文章
热门文章
推荐阅读