📜  Python日志模块(1)

📅  最后修改于: 2023-12-03 15:04:39.777000             🧑  作者: Mango

Python 日志模块

日志模块是 Python 中重要的工具之一,用来记录程序运行中的错误,警告以及其他信息。Python 日志模块提供了灵活的日志记录,可以通过一定的配置实现指定等级的日志记录并输出到不同的媒介中。在开发和调试的过程中,合理使用日志模块能够大大提高开发效率,而且代码质量也能得以提高。

基本用法

Python 中的日志模块在标准库中,使用时只需要引入模块即可。

import logging
创建 Logger 对象

首先需要创建一个 Logger 对象,由该 Logger 对象进行日志记录的调用。

logger = logging.getLogger('mylogger')

其中,'mylogger' 是 Logger 对象的名称,可以自定义。

设置日志输出等级

为了避免日志记录过于冗杂,需要指定日志输出的最低等级。只有等级高于或等于最低等级才会被记录。

logger.setLevel(logging.DEBUG)

常用的日志等级有:DEBUG、INFO、WARNING、ERROR 和 CRITICAL,分别对应不同的日志记录级别。根据自己的需要选择合适的日志等级。

设置输出格式

日志记录的格式也可以自定义,可以更清晰地体现所记录的信息。以下是一个简单的样例格式:

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
指定输出位置

需要指定日志输出的位置,可以是控制台或文件。

# 指定输出到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)

# 指定输出到文件
file_handler = logging.FileHandler('log_file.log')
file_handler.setLevel(logging.WARNING)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)

同时输出到控制台和文件,也是常见的做法。注意,上述代码需要在设置日志等级和输出格式之后,在 Logger 对象中添加 Handler 才能生效。

记录日志

记录异常、警告和其它需要输出到日志的信息均调用 Logger 对象所提供的方法。

logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')
总结

以上是 Python 日志模块的基本用法。通过简单的配置,开发者可以实现不同等级的日志记录并且输出到不同的媒介中,便于后续的问题分析和处理。同时,为了让日志记录更加规范,可以制定通用的日志记录格式。要注意的是,日志模块能够大大提高开发效率和代码质量,但也不要滥用。对于不需要记录的信息,应该避免进行日志记录,避免记录过多的日志信息。