首页  >  文章  >  后端开发  >  如何在 Python 中同时记录到标准输出和日志文件?

如何在 Python 中同时记录到标准输出和日志文件?

DDD
DDD原创
2024-10-18 18:55:29939浏览

How to Log to Stdout and Log File Simultaneously in Python?

在 Python 中同时将日志写入标准输出和日志文件

控制日志输出对于在 Python 中调试和捕获重要信息至关重要。日志记录模块提供了将消息记录到文件的广泛功能。但是,将日志显示到控制台(标准输出)以便立即可见也是有益的。

解决方案:

确保所有日志消息都输出到标准输出除了指定的日志文件之外,您还可以通过向根记录器添加logging.StreamHandler()来扩展日志记录模块的功能。

实现:

<code class="python">import logging
import sys

# Capture stdout
stdout = sys.stdout

# Create a root logger
root = logging.getLogger()

# Set the logging level (DEBUG in this case)
root.setLevel(logging.DEBUG)

# Define the StreamHandler
handler = logging.StreamHandler(stdout)

# Configure the message format
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# Add the StreamHandler to the root logger
root.addHandler(handler)</code>

通过此修改,使用 logger.warning、logger.ritic 和 logger.error 等方法记录的所有消息都将写入配置的日志文件并直接显示到 stdout。这简化了故障排除并确保可以轻松地立即访问消息以进行检查。

以上是如何在 Python 中同时记录到标准输出和日志文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn