在 Python 中记录到标准输出 stdout
本教程将介绍在 Python 中将日志写入文件和 stdout 的方法。
使用 Python 中的 logging.basicConfig()
函数登录到 stdout
如果我们想将日志打印到控制台窗口并将日志写入文件中,我们可以使用 logging.basicConfig()
函数 来完成此过程。logging.basicConfig()
函数为 Python 中的日志记录配置一些基本参数。我们可以使用此函数的 stream
参数来指定我们也希望在控制台窗口上打印此日志。其余配置与使用 logging.basicConfig()
函数将日志写入文件相同。以下代码演示了我们如何将日志写入控制台窗口。
import logging
import sys
# Creating and Configuring Logger
Log_Format = "%(levelname)s %(asctime)s - %(message)s"
logging.basicConfig(
filename="logfile.log",
stream=sys.stdout,
filemode="w",
format=Log_Format,
level=logging.ERROR,
)
logger = logging.getLogger()
# Testing our Logger
logger.error("Our First Error Message")
输出:
2021-06-13 05:15:24,093 - root - ERROR - Our First Error Message
使用 Python 中的 logging.StreamHandler()
函数登录到 stdout
我们还可以使用 logging.StreamHandler()
函数将日志写入 Python 中的控制台窗口。通过将 sys.stdout
传递给 logging.StreamHandler()
函数,我们可以创建一个可以将日志消息打印到控制台窗口的流处理程序。然后我们可以使用 addHandler()
函数将此流处理程序添加到我们的记录器对象。以下代码片段向我们展示了如何使用 logging.StreamHandler()
函数将日志消息打印到控制台窗口。
import logging
import sys
logger = logging.getLogger()
fileHandler = logging.FileHandler("logfile.log")
streamHandler = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
streamHandler.setFormatter(formatter)
fileHandler.setFormatter(formatter)
logger.addHandler(streamHandler)
logger.addHandler(fileHandler)
logger.error("This is the first error")
输出:
2021-06-13 05:03:37,510 - root - ERROR - This is the first error
我们在上面的代码中使用 logging.FileHandler()
和 logging.StreamHandler()
函数将日志消息 This is the first error
写入文件 logfile.log
和控制台窗口。我们首先创建了一个 logger 对象,我们将使用该对象通过 logging.getLogger()
函数编写日志。然后,我们创建了一个文件处理程序 fileHandler
并为其分配了 logging.FileHandler('logfile.log')
。
之后,我们创建了一个流处理程序 streamHandler
,并分配了 logging.StreamHandler(sys.stdout)
。之后,我们创建了一个格式化程序来使用 logging.Formatter()
函数格式化我们的输出,并使用 setFormatter()
函数为 fileHandler
和 streamHandler
设置格式化程序。在上一步之后,我们使用 addHandler()
函数将两个新的处理程序添加到我们的记录器对象中。最后,我们使用 logger.error('This is the first error')
将错误消息写入我们的文件和控制台窗口。
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串