官方文档
常见用法
logging模块是Python标准库中用于记录日志的模块。它提供了灵活且可配置的日志记录功能,可以用于在应用程序中捕获和输出各种级别的日志消息。以下是logging模块的常见用法示例:
python
import logging# 配置日志记录器
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')# 记录不同级别的日志消息
logging.debug('这是一个debug级别的日志消息')
logging.info('这是一个info级别的日志消息')
logging.warning('这是一个warning级别的日志消息')
logging.error('这是一个error级别的日志消息')
logging.critical('这是一个critical级别的日志消息')
上述示例中展示了logging模块的常见用法:
使用basicConfig方法配置日志记录器,设置了日志记录的级别为DEBUG,并指定了日志消息的格式。
使用debug、info、warning、error和critical等方法记录不同级别的日志消息。消息将按照预定义的格式输出到控制台。
指定文件的存储路径,并且各模块独立
import logging# 创建顶级logger
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)# 创建文件处理器
file_handler = logging.FileHandler('/path/to/log/file.log')# 配置文件处理器
file_handler.setLevel(logging.DEBUG)# 创建格式化器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')# 将格式化器添加到文件处理器
file_handler.setFormatter(formatter)# 将文件处理器添加到logger
logger.addHandler(file_handler)# 在模块中创建独立的logger
module_logger = logging.getLogger(__name__)
上述示例展示了如何指定文件的存储路径,并为每个模块创建独立的logger:
首先,创建顶级logger,并设置日志级别为DEBUG。
创建文件处理器(FileHandler),并设置其日志级别为DEBUG。
创建格式化器(Formatter),并定义日志消息的格式。
将格式化器添加到文件处理器中。
将文件处理器添加到顶级logger中。
在每个模块中,使用logging.getLogger(name)创建独立的logger。
独立配置的好处
使用独立的logger可以帮助您更好地组织和管理模块的日志记录。每个logger可以单独设置其级别、处理器和格式化器,以满足不同模块的需求。通过将文件处理器添加到顶级logger,您可以将所有模块的日志消息记录到同一个文件中。
需要注意的是,在每个模块中创建独立的logger时,使用了__name__作为logger的名称,这样可以确保每个模块都有一个唯一的logger名称,便于在日志中区分不同的模块来源。
请根据您的实际需求和应用程序的结构来进行适当的配置和调整。这只是一个基本示例,您可以根据具体情况进行进一步的自定义和扩展。