我被迫在我在tomcat 6中部署的web应用程序中使用自定义封闭源库。它通过printStackTrace在我的stdout日志(catalina.out)中记录了很多异常,然后重新抛出它们供我处理。有没有办法防止或重新路由来自webapp中部署的特定包的异常记录?
答案 0 :(得分:2)
e.printStackTrace
打印到控制台,类似于System.err
在Tomcat中,catalina.sh
有这一行,它将所有控制台错误重定向到catalina.out
这适用于整个Tomcat服务器。
"$CATALINA_BASE"/logs/catalina.out 2>&1 &
简而言之,如果您无法修改源代码以使用log4j,您可以尝试将其发送到catalina.sh中的另一个文件,但同样这不是特定于程序包的所需。
这会以类似的方式膨胀另一个文件。
答案 1 :(得分:1)
如何在try / catch段中调用该段,从而在应用程序死亡之前捕获异常,将其添加到log4j(或任何其他日志记录机制)