以透明方式记录java.lang.Throwable的实例化

时间:2012-11-28 14:30:12

标签: java exception-handling instrumentation

我想实现一个自动异常日志记录服务,该服务收集在应用程序中引发的所有异常/错误。最优雅的方式是利用“抛出”或Throwable的实际实例化。

经过几个小时的研究后,我得出了以下结论:

  1. 以某种方式“点击”“扔”是不可能的
  2. 使用Instrumentation(或cglib)注入代码可以解决问题
  3. 扩展类加载器并覆盖newInstance方法可以解决问题
  4. 到目前为止,我认为选项2将是最佳选择,但我担心我可能错过了一个更容易的解决方案。

1 个答案:

答案 0 :(得分:1)

也许这篇标题为Java 5 Global Exception Handling的文章会对你有帮助。