我想实现一个自动异常日志记录服务,它收集整个应用程序中抛出的所有异常/错误。最优雅的方式是利用“投掷”或 Throwable 的实际实例化。
经过几个小时的研究,我得出以下结论:
- 不知何故“进入”“投掷”是不可能的
- 使用 Instrumentation(或 cglib)注入代码可以解决问题
- 扩展类加载器并覆盖 newInstance 方法可以解决问题
到目前为止,我认为选项 2 将是最佳选择,但我担心我可能会错过一个更简单的解决方案。
我想实现一个自动异常日志记录服务,它收集整个应用程序中抛出的所有异常/错误。最优雅的方式是利用“投掷”或 Throwable 的实际实例化。
经过几个小时的研究,我得出以下结论:
到目前为止,我认为选项 2 将是最佳选择,但我担心我可能会错过一个更简单的解决方案。