在Ubuntu系统中,配置Python日志记录可以通过使用内置的logging
模块来实现。以下是一个基本的配置示例:
导入必要的模块:
import logging
配置日志记录器:
# 创建一个日志记录器
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG) # 设置日志级别
# 创建一个文件处理器,将日志写入文件
file_handler = logging.FileHandler('my_app.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')
运行你的应用程序:
运行你的Python脚本,日志信息将会被写入到my_app.log
文件中。
你可以根据需要进一步配置日志记录器,例如:
多个处理器:你可以添加多个处理器,将日志同时输出到控制台和文件中。
# 创建一个控制台处理器
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
console_handler.setFormatter(formatter)
# 将控制台处理器添加到日志记录器
logger.addHandler(console_handler)
日志轮转:使用RotatingFileHandler
或TimedRotatingFileHandler
来实现日志文件的轮转。
from logging.handlers import RotatingFileHandler
# 创建一个日志轮转处理器
rotating_file_handler = RotatingFileHandler('my_app.log', maxBytes=10*1024*1024, backupCount=5)
rotating_file_handler.setLevel(logging.DEBUG)
rotating_file_handler.setFormatter(formatter)
# 将日志轮转处理器添加到日志记录器
logger.addHandler(rotating_file_handler)
日志级别:你可以根据需要设置不同的日志级别,例如只记录错误和警告信息。
logger.setLevel(logging.WARNING)
通过这些配置,你可以灵活地控制日志的输出格式、级别和目的地,以满足你的需求。