使用requirejs时无法使log4javascript与InPageAppender一起工作
如果我在不使用requirejs的情况下使用log4javascript,那么一切(包括页面附加器中的内容)都会按预期工作 当使用requirejs时,这会起作用(弹出窗口显示警告): 但这不起作用(页面区域中不显示): 它的摆振方式如下:使用requirejs时无法使log4javascript与InPageAppender一起工作,requirejs,log4javascript,Requirejs,Log4javascript,如果我在不使用requirejs的情况下使用log4javascript,那么一切(包括页面附加器中的内容)都会按预期工作 当使用requirejs时,这会起作用(弹出窗口显示警告): 但这不起作用(页面区域中不显示): 它的摆振方式如下: requirejs.config({ shim: {'log4javascript': {exports: 'log4javascript'} } }); log4javascript的所有内容似乎都已正确定义,因此我的log4j和
requirejs.config({
shim: {'log4javascript': {exports: 'log4javascript'}
}
});
log4javascript的所有内容似乎都已正确定义,因此我的log4j和log4jInPageAppender变量都设置了有效值。问题在于,
InPageAppender
依赖于log4javascript自己的页面加载处理代码来知道它是否可以开始自己绘制。当通过RequireJS加载时,页面已经加载,log4javascript的页面加载处理代码永远不会运行
您可以通过调用log4javascript.setDocumentReady()
来解决这个问题。最明智的做法似乎是在shiminit()
函数中,但我不是RequireJS方面的专家,因此可能有更好的方法:
requirejs.config({
shim: {
'log4javascript': {
exports: 'log4javascript',
init: function() {
log4javascript.setDocumentReady();
}
}
}
});
requirejs.config({
shim: {'log4javascript': {exports: 'log4javascript'}
}
});
requirejs.config({
shim: {
'log4javascript': {
exports: 'log4javascript',
init: function() {
log4javascript.setDocumentReady();
}
}
}
});