在 Python 中将日志写入文件

本教程将介绍在 Python 中将日志写入文件的方法。

使用 Python 中的 logging 模块将日志写入文件

日志用于调试程序并找出出错的地方。logging 模块 用于在 Python 中将数据记录到文件中。我们可以使用 logging.basicConfig() 函数来配置要写入特定文件的日志。默认情况下,我们可以使用 logging 模块记录 5 种类型的行。这些消息类型包括调试、信息、警告、错误和严重。尽管如此,我们可以通过编码将这个数字增加到我们需要的任何数量。以下代码示例向我们展示了如何使用 logging.basicConfig() 函数将日志写入文件。

import logging

#Creating and Configuring Logger

Log_Format = "%(levelname)s %(asctime)s - %(message)s"

logging.basicConfig(filename = "logfile.log",
                    filemode = "w",
                    format = Log_Format, 
                    level = logging.ERROR)

logger = logging.getLogger()

#Testing our Logger

logger.error("Our First Log Message")

logfile.log 的文件内容:

ERROR 2021-06-13 04:14:29,604 - Our First Log Message

我们使用上面代码中的 logging.basicConfig() 函数编写了级别为 error 的日志消息 Our First Log Message 以及正确的日志记录日期和时间。编写日志时最重要的是它们发生的日期和时间。因此,我们首先在 Log_Format 字符串中为我们的日志创建了一个格式。这种格式包括日志的级别、发生的日期和时间以及要写入的消息。

然后,我们使用 logging.basicConfig() 函数的 filename 参数来指定日志文件。我们将值 a 分配给 logging.basicConfig() 函数的 filemode 参数,以在 append 模式下打开文件,这样每次有新日志时就不会删除以前的日志。然后我们将 format 参数设置为 Log_Format。在该步骤之后,我们将 logging.ERROR 分配给 level 参数以指定日志的最低级别错误。我们使用 logger = logging.getLogger() 创建了一个记录器对象来写入日志消息。最后,我们用 logger.error("Our First Log Message") 编写了错误消息。

使用 Python 中的 logging.FileHandler() 函数将日志写入文件

我们还可以使用 logging.FileHandler() 函数 在 Python 中将日志写入文件。此函数采用我们要写入日志的文件路径。然后我们可以使用 addHandler() 函数将此处理程序添加到我们的记录器对象中。下面的代码演示了如何使用 logging.FileHandler() 函数将日志写入文件。

import logging

logger = logging.getLogger()
handler = logging.FileHandler('logfile.log')
logger.addHandler(handler)
logger.error('Our First Log Message')

logfile.log 内容:

Our First Log Message

我们使用上面代码中的 logging.FileHandler() 函数将日志消息 Our First Log Message 写入文件 logfile.log。我们首先创建了一个 logger 对象,我们将使用该对象通过 logging.getLogger() 函数编写日志。然后,我们创建一个文件处理程序 handler,并为其分配 logging.FileHandler('logfile.log')。之后,我们使用 logger.addHandler(handler) 将这个新的 handler 添加到我们的记录器对象中。最后,我们使用 logger.error('Our First Log Message') 将错误消息写入我们的文件。