我已经看到了bugsense,哨兵等是如何工作的。我喜欢您获取错误/崩溃报告的方式。我想要的是这样的解决方案,但供内部使用。使用像bugsense这样的外部API是不可能的。
是否有任何类似的开源解决方案可以在内部使用?
如果您已经正确日志记录,并且需要更精细的配置,则可以尝试 logstash。它基本上是一个日志托运器,具有各种输入,过滤器和输出模块,包括电子邮件作为输出方法。
可以将输入配置为解析现有日志文件、从队列接收消息等等。对于基于 UDP/IP 的日志记录,请查看 logstash-gelf,它基本上是一个适配器,用于自动生成格式良好的日志记录元数据。如果您计划解析日志文件,请注意与解析堆栈跟踪有关的"多行编解码器"和"grok"作为解析日志条目的过滤器。对于 grok,我发现 Grok 调试器是一个很大的帮助。
例如:一旦您的日志通过输入路由,并且您的日志记录配置为对电子邮件消息使用命名记录器,您就可以在 logstash 输入中标记它们,并告诉输出在带有标记的消息通过时发送电子邮件。
我认为可以使用特定的记录器(slf4j,log4j...)。例如,它可以发送电子邮件,用于带有堆栈跟踪的致命日志以及您想要的内容。