文章目录
<appender name="web" class="common.HelloAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</layout>
</appender>
package cn.go.app;
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.spi.LoggingEvent;
import java.io.IOException;
import java.io.PipedWriter;
public class WebAppender extends AppenderSkeleton {
private PipedWriter out = new PipedWriter();
public PipedWriter getOut() {
return out;
}
public void setOut(PipedWriter out) {
this.out = out;
}
@Override
protected void append(LoggingEvent event) {
System.out.println("[web]" + this.layout.format(event));
try {
out.write(this.layout.format(event));
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public synchronized void close() {
if (this.closed)
return;
this.closed = true;
}
@Override
public boolean requiresLayout() {
return false;
}
}