我尝试log4javascript
在我的项目中包含 JS 库,因此按照一个简单的示例来配置一个简单的命名logger
对象,PopUpAppender
并且我一遍又一遍地看到相同的消息:
Uncaught TypeError: Cannot read property 'focusPopUp' of undefined
它指向PopUpAppender
函数中的以下行:
function PopUpAppender(lazyInit, initiallyMinimized, useDocumentWrite,
width, height) {
this.create(false, null, lazyInit, initiallyMinimized,
useDocumentWrite, width, height, this.defaults.focusPopUp); // this is were the error seems to happen...
}
因此,我创建了一个简单的HTML
项目,其中只有一个index.html
普通html
站点,并包含log4javascript.js
并log4javascript_uncompressed.js
交替测试任何文件中的行为是否不同。但是每次我尝试以logger
所描述的方式初始化对象时,我都会看到同样的错误。
如果我退后一步并尝试以logger
最简单的方式初始化,例如:
var log = log4javascript.getDefaultLogger();
一切正常,我看到记录器输出弹出并写出我的第一条日志消息。
logger
我在尝试初始化对象时做错了吗?我看不到任何绊脚石,因为我基本上在做与该log4javascript.getDefaultLogger()
方法相同的事情:
log4javascript.getDefaultLogger = function() {
if (!defaultLogger) {
defaultLogger = log4javascript.getLogger(defaultLoggerName);
var a = new log4javascript.PopUpAppender();
defaultLogger.addAppender(a);
}
return defaultLogger;
};
对此有任何提示吗?
编辑:
我logger
以这种方式初始化我的
var log = log4javascript.getLogger("main");
var appender = log4javascript.PopUpAppender();
log.addAppender(appender);
log.debug("Logging is enabled!");
编辑2:
所以,我开始了一个新的纯 HTML 项目,只有index.html
页面和js
文件夹,这是从log4javascript
*.zip 包中提取的文件夹。
这是我的整个 HTML 页面:
<html>
<head>
<title> Log4Javascript Tryout Page!</title>
<script type="text/javascript" src="js/log4javascript.js"></script>
</head>
<body>
<script type="text/javascript">
var logger = log4javascript.getLogger('main');
var appender = log4javascript.PopUpAppender();
logger.addAppender(appender);
logger.debug('Logging enabled!');
</script>
</body>
</html>
我仍然收到同样的错误......?