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