直接上已经调试过的步骤:
1: 实现log4j的抽象类AppenderSkeleton,在append中加如下代码片段:
Reporter.log(eventToString(event));
private String eventToString(final LoggingEvent event) {
final StringBuilder result = new StringBuilder(layout.format(event));
if (layout.ignoresThrowable()) {
final String[] s = event.getThrowableStrRep();
if (s != null) {
for (final String value : s) {
result.append(value).append(Layout.LINE_SEP);
break;
}
}
}
return result.toString();
}
2:把该appender加到log4j的配置文件中,如下:
<appender name="New Appender Name" class="New defined appender class for example package.myAppender">
<layout ... </layout>
</appender>