Python中内置的日志模块logging用法详解
日志模块logging是Python中的标准库之一,它为我们提供了丰富的日志处理功能。在编写代码时,适当的加入日志信息能够帮助我们更好地跟踪代码运行状态,从而更快速的解决问题。
本攻略将详细讲解Python中内置的日志模块logging及其用法,包括如何创建日志、如何设置日志等级、如何将日志信息输出到文件等。
创建日志对象
Python中使用logging模块进行日志处理。首先需要创建一个日志对象,我们可以通过logging模块提供的函数getLogger来创建一个日志对象。示例代码如下:
import logging
logger = logging.getLogger('mylogger')
在上面的代码中,我们使用getLogger函数创建了一个名为mylogger的日志对象logger。
设置日志级别
日志级别是指日志信息的重要性,logging模块提供5个日志级别,分别是:
- CRITICAL (50)
- ERROR (40)
- WARNING (30)
- INFO (20)
- DEBUG (10)
- NOTSET (0)
我们可以通过日志对象(logger)的setLevel函数设置日志级别,示例代码如下:
import logging
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
在上面的代码中,我们将日志级别设置为DEBUG,表示所有级别的日志信息都将被记录到日志对象中。
输出日志信息
日志信息可以输出到控制台或文件中。logging模块提供了多个类用于输出日志信息,其中常用的类有两种,一种是StreamHandler用于控制台输出,另一种是FileHandler用于文件输出。
输出到控制台
下面的示例代码演示了如何将日志信息输出到控制台:
import logging
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')
在上面的代码中,我们先创建了一个日志对象logger,并将日志级别设置为DEBUG。接着,我们创建了一个StreamHandler对象console_handler,并将其级别设置为DEBUG。然后,我们设置了输出格式并将其应用到console_handler中。最后,将console_handler添加到日志对象logger中。
输出到文件
下面的示例代码演示了如何将日志信息输出到文件中:
import logging
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
file_handler = logging.FileHandler('test.log')
file_handler.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')
在上面的代码中,我们先创建了一个日志对象logger,并将日志级别设置为DEBUG。接着,我们创建了一个FileHandler对象file_handler,并将其级别设置为DEBUG,文件名为test.log。然后,我们设置了输出格式并将其应用到file_handler中。最后,将file_handler添加到日志对象logger中。
总结
本攻略详细讲解了Python中内置的日志模块logging及其用法,包括如何创建日志、如何设置日志等级、如何将日志信息输出到文件等。对于日志处理有需求的开发者来说,这些知识点是必不可少的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中内置的日志模块logging用法详解 - Python技术站