Graylog: 发送错误日志

本文档属于使用 Python 发送日志指南的一部分。您可以在此处查看完整指南:如何将日志从 Python 发送到 Graylog

👋 欢迎查阅 Stackhero 文档

Stackhero 提供全托管的 Graylog cloud 解决方案,专为高效与简便而设计。您可以:

  • 依赖于服务内置的无限制、专用 SMTP 邮件服务器
  • 只需一键即可轻松完成更新,无需手动操作。
  • 使用由HTTPS保护的自定义域名(例如 https://logs.your-company.com),为您的团队提供安全、直接的访问。
  • 专属私有基础设施上体验卓越的性能安全性,无共享资源,无干扰邻居。

专注于您的数据,而非工具本身:只需几分钟,即可开始使用 Stackhero 的 Graylog cloud hosting 解决方案。

Graylog 不仅用于普通日志消息,您还可以捕获并转发错误,以便更好地了解应用的运行情况。这有助于监控并通过邮件、Slack 或 Mattermost 等渠道及时收到问题通知。

以下示例中,我们故意调用一个不存在的函数以生成错误。请记得将“<XXXXXX>.stackhero-network.com”替换为您的实例主机名。

import logging
import graypy

my_logger = logging.getLogger('test_logger')
my_logger.setLevel(logging.DEBUG)

handler = graypy.GELFTLSHandler('<XXXXXX>.stackhero-network.com', 12201)
my_logger.addHandler(handler)

try:
    unknown_function()
except NameError:
    my_logger.debug('The "unknown_function" raised an error', exc_info=1)

您可以像之前一样运行该脚本。在 Graylog 管理面板中,您将看到错误消息“NameError: name 'unknown_function' is not defined”以及完整的堆栈跟踪信息。

错误日志示例错误日志示例