我对log4j非常陌生。我不想在我的日志文件中显示异常堆栈跟踪,如下所示:
java.lang.IllegalArgumentException: nodeRef is a mandatory parameter
at org.alfresco.util.ParameterCheck.mandatory(ParameterCheck.java:42)
这些异常使用
e.printStackTrace()
直接写入控制台,如下所示。try {
// something
} catch(Exception e) {
StringWriter stack = new StringWriter();
e.printStackTrace(new PrintWriter(stack));
logger.debug("Caught exception; decorating with appropriate status template : " + stack.toString());
}
我现在正在定制一个开源项目,而不是自己编写所有的程序。因此,在所有的Java文件中都删除e.printStackTrace();
是不可能的。
据我所知,通过使用Log4j日志记录器打印的日志可以使用Log4j错误级别(如info、debug、warn)进行配置。但是,如果直接将日志写入控制台或文件,该怎么办呢?
如何配置Log4j不仅打印异常堆栈跟踪,还显示其他信息?有解决方法吗?