Java:重复异常过滤?

标签 java exception

我在免费托管上有一个 JBoss EAP 服务器,有时会发生一种情况,使应用程序开始在每个请求上抛出带有长堆栈跟踪的异常。 这会导致日志每天达到数十 MB,一段时间后,托管会耗尽磁盘空间。

我想过滤异常。准确地说,我想要一些能够接受异常并告诉我是否已经看到相同异常的东西。应用广泛。可能是缓存过期了。

除了使用 map 自行完成并检查异常情况之外,我还有哪些选择?

我记得我见过一些 RepeatedExceptionsHandler 或我使用的 Log4j 之类的东西,或者可能是 Hibernate,但在快速的 google 搜索中找不到它。

最佳答案

我的磁盘也充满了日志文件,所以我能体会到你的痛苦!我的第一直觉确实是 RollingFileAppender 解决方案的一个版本,但从长远来看,最终对我有用的是实际上完全解决了问题。我使用名为 Appygram 的服务(诚​​然,我也参与了一项服务)您可以向其发送您的异常(exception)情况。您可以按照自己喜欢的方式设置异常消息的格式,并且它具有基于 API key 的内置重复检测功能,因此您可以进行应用程序范围的检查。

就我个人而言,我使用 HTML 来格式化异常,以使它们更易于阅读,因为我发送了大量数据,但您可以发送任何您想要的数据。还有一个网络界面供您浏览收到的异常(exception)情况,或者您可以将它们转发到电子邮件或任何其他网络服务。

无论如何,如果你这样做,你可以防止你的日志被填满,因为信息会从你的服务器上消失,并且你不会重复地因为相同的异常而被屠杀。如果您最终确实专门查看了 Appygram,请告诉我,我可以向您指出一些有用的 Java 库来帮助您入门。

关于Java:重复异常过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17771624/

相关文章:

java - 如何解决AES加密代码中的异常

c++ - 来自 IWbemClassObject::Get 的未知异常

c++ - 如何更改我的错误处理方法

java - 什么样的行为会导致异常中断?

java - 如何通过注释正确配置 2 级 hibernate 实体缓存

Java:如果语句中有两个或多个条件,if 语句将不起作用吗?

java - 使用继承时 Hibernate ManyToMany 不起作用

java - 设置socket opt failed bad file number异常

java - 在 Java 模式匹配中获取定界符

java - 读取文件时 Java 代码中出现 NullPointerException