4

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

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

  1. 不知何故“进入”“投掷”是不可能的
  2. 使用 Instrumentation(或 cglib)注入代码可以解决问题
  3. 扩展类加载器并覆盖 newInstance 方法可以解决问题

到目前为止,我认为选项 2 将是最佳选择,但我担心我可能会错过一个更简单的解决方案。

4

0 回答 0