python的日志处理

日志记录是一种记录软件运行时发生的事件的方法。软件开发人员将日志记录调用添加到他们的代码中用来跟踪和记录事件。事件具有不同的重要性,因此开发人员将根据事件的重要性的程度来记录日志。

Python 日志记录模块是一个允许自定义消息日志记录的内置包。它允许您记录不同严重程度的消息(例如,调试、信息、警告、错误、严重)并定义记录消息的目的地(例如,控制台、文件、网络)。

python logging

日志记录模块采用模块化方法,它提供各种组件:

  • Loggers——公开代码直接使用的接口。
  • Handler——将记录器创建的日志消息和记录发送到适当的目的地(即控制台、文件等)
  • Filter——提供精细的控制和工具来确定如何以及将哪些日志记录到输出中。
  • Formatters — 指定最终日志报告中日志消息和记录的布局。

日志记录是通过调用记录器类实例上的方法来执行的。要使用日志记录模块,您首先需要导入它并配置一个日志记录器。以下是如何执行此操作的示例:

import logging

logging.basicConfig(level=logging.DEBUG, format = '%(asctime)s - %(levelname)s - %(message)s' ) 
logger = logging.getLogger(__name__)

在此示例中,'basicConfig'函数用于将日志级别配置为'DEBUG'以及包括时间、日志级别和消息的日志格式。' getLogger '函数用于创建具有指定名称的记录器。

命名记录器时使用的一个好的约定是在每个使用日志记录模块的模块中使用模块级记录器,如示例所示:

logger  = logging.getLogger(__name__)

一旦配置了记录器,就可以使用它来记录各种严重级别的消息。例如:

logger.debug ( '这是一条调试消息' ) 
logger.info( '这是一条信息消息' ) 
logger.warning( '这是一条警告消息' ) 
logger.error( '这是一条错误消息' )
logger.critical( '这是一条重要信息' )

默认情况下,日志记录模块将记录的消息发送到控制台。但是,也可以将其配置为将消息记录到文件或网络上的其他地方。

例如,要将消息记录到文件中,您可以使用日志模块提供的“FileHandler”类。

import logging 

logger = logging.getLogger(__name__) 
logger.setLevel(logging.DEBUG) 

# 创建一个 FileHandler
handler = logging.FileHandler( 'logfile_example.txt' ) 
handler.setLevel(logging.DEBUG) 

# 创建一个日志格式
formatter = logging .Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) 
handler.setFormatter(formatter) 

# 添加 FileHandler 到 logger
logger.addHandler(handler) 

logger. debug( 'This is a debug message' ) 
logger.info( 'This is an info message' ) 
logger.warning( 'This is a warning message' )
logger.error'这是一条错误消息' ) 
logger.critical( '这是一条关键消息' )

在此示例中,创建了一个文件处理程序并将其添加到记录器实例中。随后为处理程序指定日志记录格式。所有记录的消息都将写入“logfile_example.txt”。

日志记录函数以它们跟踪的事件的严重性或程度命名。以下是标准级别及其应用(按严重性递增顺序):

  • DEBUG — 详细信息,通常只有在诊断问题时才会感兴趣。
  • INFO——确认事情按预期工作。
  • WARNING — 表示发生了意想不到的事情,或表示不久的将来会出现某些问题。该软件仍在按预期工作。
  • ERROR— 由于更严重的问题,软件无法执行某些功能。
  • CRITICAL——严重错误,表示程序本身可能无法继续运行。

默认级别是WARNING,这表明只有这个级别和这个级别以上的事件才会被跟踪.

Python 日志记录模块是用于在 Python 应用程序中记录消息的多功能且有效的工具。它允许您确定记录消息的严重性及其目的地,并且它提供了多个用于修改日志格式和处理日志消息的选项。

你可能感兴趣的:(python的日志处理)