我正在使用log4javascript和AjaxAppender设置为ERROR级别。
如果我将其设置为调试,我将使用无用的数据充斥我的服务器,但是当发生错误时 然后,我希望看到来自会话的调试消息。
有没有办法存储调试级别,但只有在发生错误时才将其发送到服务器?
谢谢
答案 0 :(得分:2)
我建议为AjaxAppender创建一个简单的包装器appender,它将日志事件存储在一个数组中并附加到包装数组,例如以下(未经测试):
function WrappedAppender(appender) {
this.appender = appender;
this.loggingEvents = [];
}
WrappedAppender.prototype = new log4javascript.Appender();
WrappedAppender.prototype.append = function(loggingEvent) {
this.loggingEvents.push(loggingEvent);
this.appender.append(loggingEvent);
};
var ajaxAppender = new log4javascript.AjaxAppender("some_server_page");
ajaxAppender.setThreshold(log4javascript.Level.ERROR);
var wrappedAppender = new WrappedAppender(ajaxAppender);
var log = log4javascript.getLogger("main");
log.addAppender(wrappedAppender);
然后,您可以随时检查wrappedAppender.loggingEvents
以获取所有日志记录事件。