linux

Linux中Python日志如何配置

小樊
48
2025-10-18 08:22:36
栏目: 编程语言

在Linux系统中,配置Python日志可以通过内置的logging模块来实现。以下是一个基本的配置示例:

  1. 首先,导入logging模块:
import logging
  1. 然后,配置日志记录器(Logger)、处理器(Handler)和格式化器(Formatter):
# 创建一个日志记录器
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)  # 设置日志级别

# 创建一个文件处理器,将日志写入到文件中
file_handler = logging.FileHandler('my_log.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)
  1. 使用配置好的日志记录器记录日志:
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')

以上代码会将日志记录到名为my_log.log的文件中,日志级别设置为DEBUG,这意味着所有级别的日志都会被记录。

你可以根据需要调整日志级别、处理器和格式化器。例如,你可以添加一个StreamHandler来将日志输出到控制台,或者为不同的模块创建不同的日志记录器。

以下是一个更复杂的配置示例,包括将日志同时输出到文件和控制台:

import logging

# 创建一个日志记录器
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)  # 设置日志级别

# 创建一个文件处理器,将日志写入到文件中
file_handler = logging.FileHandler('my_log.log')
file_handler.setLevel(logging.DEBUG)  # 设置处理器日志级别

# 创建一个控制台处理器,将日志输出到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)  # 设置处理器日志级别

# 创建一个格式化器,定义日志的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)  # 将格式化器添加到文件处理器
console_handler.setFormatter(formatter)  # 将格式化器添加到控制台处理器

# 将处理器添加到日志记录器
logger.addHandler(file_handler)
logger.addHandler(console_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')

这个示例中,日志级别设置为DEBUG,所以所有级别的日志都会被记录。文件处理器会将所有级别的日志写入到my_log.log文件中,而控制台处理器只会输出INFO级别及以上的日志。

0
看了该问题的人还看了