我想隐藏一个异常以在 log4j 中记录它的堆栈跟踪。
我的应用程序抛出了一个运行时异常,我只想要异常的消息而不是堆栈跟踪来记录它。
我想知道 log4j 属性应该是什么。
谢谢史蒂文
如果它是一个独立的 Java 应用程序,那么您可以使用Thread.UncaughtExceptionHandler
如果它是一个 Web 应用程序,那么使用默认错误页面将解决您的问题(未验证)。您可能还想检查是否可以在 Web 应用程序中使用 Thread.UncaughtExceptionHandler。但是如果 Web Container 已经出于某种目的使用它,那么自己设置(替换它)可能会影响 Web Container 的功能。为了安全起见,最好在这种情况下从您的处理程序委托给现有处理程序(如果有)(使用相关的 getter 方法)。
此外,如果强制执行 SecurityManager,您需要具有调用此方法的权限。否则可能会导致 SecurityException 被抛出。