在Python中,使用`logging`模块可以方便地输出日志信息到文件或控制台。以下是一个简单的示例,展示了如何配置和使用`logging`模块:
import logging
创建一个日志记录器
logger = logging.getLogger(__name__)
设置日志级别,DEBUG 会显示所有级别的日志
logger.setLevel(logging.DEBUG)
创建一个文件处理器,日志信息将被写入到文件
file_handler = logging.FileHandler('example.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('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')
运行上述代码后,会在当前目录下创建一个名为`example.log`的文件,其中包含不同级别的日志信息。
如果你需要日志文件按大小轮转,可以使用`RotatingFileHandler`:
from logging.handlers import RotatingFileHandler
创建一个日志记录器
logger = logging.getLogger(__name__)
设置日志级别,DEBUG 会显示所有级别的日志
logger.setLevel(logging.DEBUG)
创建一个日志文件处理器,日志信息将被写入到文件
file_handler = RotatingFileHandler('example.log', maxBytes=10*1024*1024, backupCount=5)
设置文件处理器的日志级别
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('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')
在这个例子中,当日志文件大小超过10MB时,日志文件会被轮转,保留最近的5个备份文件。
希望这些示例能帮助你理解如何在Python中输出日志信息