Порой необходимо сделать так, чтоб log4j выводит аутпут на консоль, при использовании e.printStackTrace() и System.out.println(""); Для этого при загрузке приложения достаточно выполнить следующий код.
private static final Logger logger = Logger.getLogger("sdout");
public static void tieSystemOutAndErrToLog() {
System.setOut(createLoggingProxy(System.out));
System.setErr(createLoggingProxy(System.err));
}
public static PrintStream createLoggingProxy(final PrintStream realPrintStream) {
return new PrintStream(realPrintStream) {
public void print(final String string) {
realPrintStream.print(string);
logger.info(string);
}
};
}
Комментариев нет:
Отправить комментарий