0
訪問方法我有一個自定義的appender,增加了LoggingEvent
s到的LoggingEvent
的ArrayList
,具體如下:log4j的:定製的appender和記錄器實例
import java.util.ArrayList;
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.spi.LoggingEvent;
public class PayloadLogAppender extends AppenderSkeleton {
private final ArrayList<LoggingEvent> eventsList = new ArrayList();
@Override
protected void append(LoggingEvent event) {
eventsList.add(event);
}
public void close() {
}
public boolean requiresLayout() {
return false;
}
public ArrayList<LoggingEvent> getAllMessages() {
return this.eventsList;
}
}
我已經添加了自定義的appender到我的log4j的。屬性,它被罰款加載:
log4j.appender.payloadLog=PayloadLogAppender
現在我的應用程序裏面我訪問通常的方式記錄儀,使用getLogger()
, 但最後我想有事件列表中保持名單。我在appender中創建了方法getAllMessages()
,並且想要在持有記錄器實例時調用此方法。是否需要logger.getAllMessage()
才能獲得eventsList
屬性的參考?
當你在最後使用logger.getAllMessages時,你會看到什麼? – bgth
我得到這個: 引起:java.lang.Error:未解決的編譯問題: \t方法getAllMessages()未定義類型記錄器 –