@@ -0,0 +1,987 @@
+package org.nutz.log.helper.log4j;%0D%0A%0D%0Aimport org.apache.log4j.Appender;%0D%0Aimport org.apache.log4j.Layout;%0D%0Aimport org.apache.log4j.spi.ErrorHandler;%0D%0Aimport org.apache.log4j.spi.Filter;%0D%0Aimport org.apache.log4j.spi.LoggingEvent;%0D%0A%0D%0Apublic class TestAppender implements Appender %7B%0D%0A%0D%0A%09public static LoggingEvent lastEvent;%0D%0A%09%0D%0A%09protected String name; %0D%0A%09%0D%0A%09public void addFilter(Filter arg0) %7B%0D%0A%09%09%0D%0A%09%7D%0D%0A%0D%0A%09public void clearFilters() %7B%7D%0D%0A%0D%0A%09public void close() %7B%7D%0D%0A%0D%0A%09public void doAppend(LoggingEvent event) %7B%0D%0A%09%09lastEvent  = event;%0D%0A%09%7D%0D%0A%0D%0A%09public ErrorHandler getErrorHandler() %7B%0D%0A%09%09return null;%0D%0A%09%7D%0D%0A%0D%0A%09public Filter getFilter() %7B%0D%0A%09%09return null;%0D%0A%09%7D%0D%0A%0D%0A%09public Layout getLayout() %7B%0D%0A%09%09return null;%0D%0A%09%7D%0D%0A%0D%0A%09public String getName() %7B%0D%0A%09%09return name;%0D%0A%09%7D%0D%0A%0D%0A%09public boolean requiresLayout() %7B%0D%0A%09%09return false;%0D%0A%09%7D%0D%0A%0D%0A%09public void setErrorHandler(ErrorHandler arg0) %7B%0D%0A%09%09%0D%0A%09%7D%0D%0A%0D%0A%09public void setLayout(Layout arg0) %7B%0D%0A%09%09%0D%0A%09%7D%0D%0A%0D%0A%09public void setName(String arg0) %7B%0D%0A%09%09name = arg0;%0D%0A%09%7D%0D%0A%0D%0A%7D%0D%0A

把旧的Log4j的TestAppender恢复.