您如何看待在特殊日志表中保存堆栈跟踪?

时间:2010-04-26 11:49:40

标签: java logging log4j

假设您有一个特殊的应用程序日志表。

您如何为可能的堆栈跟踪创建BLOB字段?

也可以对文件进行日志记录,但是读取文本文件并不方便,而且数据库更容易“访问”。

4 个答案:

答案 0 :(得分:4)

如果堆栈跟踪是由于数据库连接失败怎么办?有些事情需要尽可能低级和简单。此外,我不明白为什么数据库应该比文件共享或ssh帐户更多或更少可访问。

答案 1 :(得分:4)

重复记录听起来像......好吧,重复记录。高架。如果您需要通过数据库访问日志,我宁愿使用/编写一个工具,可以在需要时将日志导入到单独的数据库中。或者通过其他方式使它们可以访问。我知道的一个工具是Splunk,但它很昂贵,而且我确信还有其他工具。

答案 2 :(得分:1)

我之前曾在一个应用程序中进行过这种情况,但正如Marcelo Cantos所说,它从来都不可靠,因为某些异常无法记录在那里,因此我们从未使用它,而是始终依赖于日志文件。

如果您使用日志文件来调试错误,您还将以正确的顺序获得您选择打印的任何其他信息消息调试;很少有你需要的只是堆栈跟踪,通常导致堆栈跟踪的内容同样如果不是更有用。

答案 3 :(得分:1)

为什么?或者至少,如果你要这样做,为什么Blob领域呢?

如果我要实现这样的东西,我会将异常分成单独的StackTraceElements并将它们存储到适当的表中。随着时间的推移和各种各样的失败,您可能会在应用程序中生成一些有关风险和质量性质的有趣统计数据。