プロジェクト内にJSライブラリを含めようとしてlog4javascript
いるため、簡単な例に従って、を使用して単純な名前付き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:
index.html
そこで、ページと、 *。zipパッケージjs
から抽出されたフォルダーであるフォルダーのみを使用して新しいプレーンHTMLプロジェクトを開始しました。log4javascript
これは私の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>
それでも同じエラーが発生し続けます...?