在log4javascript的單元測試中使用了ArrayAppender
,它將所有收到的日誌消息存儲在可通過其logMessages
屬性訪問的數組中。希望它會出現在下一個版本的主要發行版中。這裏是一個獨立的實現:
var ArrayAppender = function(layout) {
if (layout) {
this.setLayout(layout);
}
this.logMessages = [];
};
ArrayAppender.prototype = new log4javascript.Appender();
ArrayAppender.prototype.layout = new log4javascript.NullLayout();
ArrayAppender.prototype.append = function(loggingEvent) {
var formattedMessage = this.getLayout().format(loggingEvent);
if (this.getLayout().ignoresThrowable()) {
formattedMessage += loggingEvent.getThrowableStrRep();
}
this.logMessages.push(formattedMessage);
};
ArrayAppender.prototype.toString = function() {
return "[ArrayAppender]";
};
使用例:
var log = log4javascript.getLogger("main");
var appender = new ArrayAppender();
log.addAppender(appender);
log.debug("A message");
alert(appender.logMessages);
真棒,感謝蒂姆。期待下一個版本。在此期間,我做了一些家庭烘焙和非常輕量級的東西。 – dbruning 2012-04-03 02:37:02