怎么在Python中使用日志记录置模块

  介绍

这篇文章给大家介绍怎么在Python中使用日志记录置模块,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强> 1,将日志直接输出到屏幕

import 日志记录   logging.debug(& # 39;却;能够is  debug 消息# 39;)   logging.info(& # 39;却;能够is  info 消息# 39;)   logging.warning(& # 39;却;能够is  warning 消息# 39;)   #,默认情况下,日志将日志打印到屏幕,日志级别为警告;   #输出====================================#,警告:根:却;能够is  warning 消息

<强> 2。通过日志记录。basicConfig函数对日志的输出格式及方式做相关配置

import 日志记录=logging.DEBUG logging.basicConfig(水平,   ,,,,,,,格式=& # 39;% (asctime) s  %(文件名)s(线:% (lineno) d), % (levelname) s  % & # 39;(消息),   ,,,,,,,datefmt=& # 39; %,, % d  % b  % Y  % H: M %: % & # 39;   ,,,,,,,文件名=& # 39;myapp.log& # 39;   ,,,,,,,filemode=& # 39; w # 39;)   logging.debug(& # 39;却;能够is  debug 消息# 39;)   logging.info(& # 39;却;能够is  info 消息# 39;)   logging.warning(& # 39;却;能够is  warning 消息# 39;)   #。/myapp.log文件中内容为:   24 #太阳,还以为,May  2009年,21:48:54  demo2.py [: 11], DEBUG 却;能够is  DEBUG 消息   24 #太阳,还以为,May  2009年,21:48:54  demo2.py(线:12),INFO 却;能够is  INFO 消息   24 #太阳,还以为,May  2009年,21:48:54  demo2.py [: 13], WARNING 却;能够is  WARNING 消息

<强> logging.basicConfig参数:

#日志记录。basicConfig函数各参数:
文件名:指定日志文件名
filemode:和文件函数意义相同,指定日志文件的打开模式,& # 39;w # 39;或& # 39;一个# 39;
格式:指定输出的格式和内容,格式可以输出很多有用信息,如上例所示:
,,,% (levelno):,,,,打印日志级别的数值
,,,% (levelname):,,,,打印日志级别名称
,,,%(路径):,,,,打印当前执行程序的路径,其实就是sys.argv [0]
,,,%(文件名):,,,,打印当前执行程序名
,,,% (funcName):,,,,打印日志的当前函数
,,,% (lineno) d:,,,,打印日志的当前行号
,,,% (asctime):,,,,打印日志的时间
,,,%(线程)d:,,,,打印线程ID
,,,% (threadName):打印线程名称
,,,%(过程)d:,,,,打印进程ID
,,,%(消息):,,,,打印日志信息
datefmt:,,,,指定时间格式,同time.strftime ()
水平:,,,,,,,,设置日志级别,默认为logging.WARNING
流:,,,,指定将日志的输出流,可以指定输出到sys.stderr, sys.stdout或者文件,默认输出到sys.stderr,当流和文件名同时指定时,流被忽略

<强> 3,将日志同时输出到多个处理器

先定义一个住处理程序,并使用<代码> addHander() 添加到主处理程序,实现日志输出到多个处理程序。

<>强,同时输出到文件和屏幕

import 日志记录   #设置一个basicConfig只能输出到一个处理程序=logging.DEBUG logging.basicConfig(水平,   ,,,,,,,格式=& # 39;% (asctime) s  %(文件名)s(线:% (lineno) d), % (levelname) s  % & # 39;(消息),   ,,,,,,,datefmt=& # 39; %,, % d  % b  % Y  % H: M %: % & # 39;   ,,,,,,,文件名=& # 39;myapp.log& # 39;   ,,,,,,,filemode=& # 39; w # 39;)   #定义一个StreamHandler,将信息级别或更高的日志信息打印到标准错误,并将其添加到当前的日志处理对象#   时间=console  logging.StreamHandler ()   console.setLevel (logging.INFO)   时间=formatter  logging.Formatter(& # 39; %(名字)-12年代:,% (levelname) 8 s  %(消息)& # 39;)   console.setFormatter (formatter)   logging.getLogger (& # 39; & # 39;) .addHandler(控制台)   #输出到文件的日志级别为调试、输出到流的日志级别为信息   logging.debug(& # 39;却;能够is  debug 消息# 39;)   logging.info(& # 39;却;能够is  info 消息# 39;)   logging.warning(& # 39;却;能够is  warning 消息# 39;)

<强> b,添加一个处理程序:输出到文件,并根据文件大小滚动存储

在的基础上添加一个处理程序

得到logging.handlers  import  RotatingFileHandler   #定义一个RotatingFileHandler,最多备份5个日志文件,每个日志文件最大10 m   时间=Rthandler  RotatingFileHandler (& # 39; myapp.log& # 39;,, maxBytes=10 * 1024 * 1024, backupCount=5)   Rthandler.setLevel (logging.INFO)   时间=formatter  logging.Formatter(& # 39; %(名字)-12年代:,% (levelname) 8 s  %(消息)& # 39;)   Rthandler.setFormatter (formatter)   logging.getLogger (& # 39; & # 39;) .addHandler (Rthandler)

怎么在Python中使用日志记录置模块