Я очень новичок в 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());
}
Сейчас я настраиваю проект с открытым исходным кодом, а не пишу все свои программы один. Таким образом, невозможно удалить e.printStackTrace(); во всех java-файлах.
Насколько я знаю, журнал, который печатается log4j с регистратором, можно настроить с помощью уровня ошибки log4j, такого как информация, отладка, предупреждение. Но как насчет записи непосредственно в консоль или файл?
Как настроить log4j так, чтобы он не печатал только трассировку стека исключений, а отображал другую информацию? Есть ли способ решить эту проблему?