ubuntu

Ubuntu中Python日志如何记录

小樊
53
2025-09-14 19:48:39
栏目: 编程语言

在Ubuntu系统中,使用Python记录日志通常是通过内置的logging模块来实现的。以下是一个简单的例子,展示了如何在Python脚本中使用logging模块来记录日志:

import logging

# 配置日志记录器
logging.basicConfig(
    level=logging.DEBUG,  # 设置日志级别
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',  # 设置日志格式
    datefmt='%Y-%m-%d %H:%M:%S'  # 设置日期格式
)

# 创建一个日志记录器实例
logger = logging.getLogger(__name__)

# 记录不同级别的日志
logger.debug('这是一条debug信息')
logger.info('这是一条info信息')
logger.warning('这是一条warning信息')
logger.error('这是一条error信息')
logger.critical('这是一条critical信息')

在这个例子中,我们首先导入了logging模块,然后使用basicConfig函数来配置日志记录器。basicConfig函数的参数包括:

然后,我们创建了一个logger实例,并使用它来记录不同级别的日志信息。

如果你想要将日志输出到文件,可以在basicConfig函数中添加filename参数:

logging.basicConfig(
    level=logging.DEBUG,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    datefmt='%Y-%m-%d %H:%M:%S',
    filename='app.log',  # 日志将被写入到这个文件中
    filemode='a'  # 文件打开模式,'a'表示追加模式
)

如果你想要在控制台和文件中同时输出日志,可以使用StreamHandler

import logging

# 创建一个日志记录器实例
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

# 创建一个handler,用于写入日志到文件
file_handler = logging.FileHandler('app.log')
file_handler.setLevel(logging.DEBUG)

# 创建另一个handler,用于输出日志到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)

# 定义handler的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)

# 给logger添加handler
logger.addHandler(file_handler)
logger.addHandler(console_handler)

# 记录日志
logger.debug('这是一条debug信息')
logger.info('这是一条info信息')
logger.warning('这是一条warning信息')
logger.error('这是一条error信息')
logger.critical('这是一条critical信息')

在这个例子中,我们创建了两个handler:一个用于写入日志到文件app.log,另一个用于输出日志到控制台。我们还为这两个handler设置了不同的日志级别和格式。

请注意,当你在生产环境中使用日志时,应该考虑日志的安全性和性能影响。例如,避免在日志中记录敏感信息,并确保日志文件的写入不会成为性能瓶颈。

0
看了该问题的人还看了