1. 简介
logging是Python内置的日志模块,可以用于记录程序运行时的一些重要信息,以便问题排查和性能分析。在开发过程中,我们经常需要查看程序的运行情况,以及记录一些关键信息和错误日志。logging模块提供了一种简单、灵活和功能强大的方式来进行日志记录。
2. logging模块的基本使用
2.1 日志级别
在使用logging模块之前,我们需要了解一些日志级别的概念:
DEBUG: 最详细的日志级别,用于调试程序。
INFO: 用于输出程序运行过程中的一些重要信息,例如进入或离开函数,状态改变等。
WARNING: 表示程序遇到了一些意外情况,但仍然可以继续执行。
ERROR: 表示程序遇到了一些错误情况,但不会导致程序终止。
CRITICAL: 表示程序遇到了严重的错误,导致程序无法继续执行。
可以根据实际需要选择合适的日志级别。
2.2 基本配置
使用logging模块最简单的方式是直接使用默认配置。我们可以使用以下代码来输出一个简单的日志:
import logging
logging.basicConfig(level=logging.INFO)
logging.info("This is an info message")
上述代码中的basicConfig
函数会将日志级别设置为INFO
,默认的输出方向为标准输出stdout
。
运行以上代码,我们会在控制台看到如下输出:
INFO:root:This is an info message
由上可知,日志消息包括了日志级别和消息内容。
2.3 配置输出格式
我们可以通过修改默认配置,来自定义日志的输出格式。下面是一个示例:
import logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
logging.info("This is an info message")
上述代码中的format
参数定义了日志的输出格式。其中的%(asctime)s
表示当前时间,%(levelname)s
表示日志级别,%(message)s
表示日志消息内容。
运行以上代码,我们会在控制台看到如下输出:
2021-01-01 12:00:00 INFO: This is an info message
我们可以根据实际需要,自定义各个日志字段的格式。