1

誰かがLog4jsの使用経験を持っているのではないかと思いますか?通常のConsoleAppenderは、ロガーオブジェクトに追加された直後に常に使用できるとは限らないようです...次のようなドキュメントに2つの連続したスクリプトタグがある場合:

//Initialize logger
<script type="text/javascript">                   
      var logger = new Log4js.getLogger("JSLOG");
      logger.addAppender(new Log4js.ConsoleAppender(logger, false));
      logger.setLevel(Log4js.Level.INFO);         
</script>


//Use logger
<script type="text/javascript">
     logger.info('Test test');
</script>

...これにより、コンソールポップアップ(ポップアップウィンドウ)が表示され、ページの読み込み時にエラーメッセージが表示されます。

12:58:23 PM WARN Log4js - Could not run the listener function () {
    return fn.apply(object, arguments);
}. 
TypeError: this.outputElement is null

コンソールはまだ初期化されており、後でありますが、最初のロガー呼び出しだけでは完全にはないようです。最初のロガー呼び出しをsetTimeout( "logger.info('test test')"、1000)にすると、エラーは発生しません。つまり、すぐには準備ができていないようです。誰かが以前にこれを見たり、回避策が何であるかを知っていますか?

乾杯

4

1 に答える 1

6

代わりにlog4javascriptを使用することをお勧めしますか?非常によく似たAPIと優れたコンソールを備えており、積極的に開発されています。log4javascriptの同等のものは次のようになります。

<script type="text/javascript" src="log4javascript.js"></script>

<script type="text/javascript">                   
      //Initialize logger
      var logger = log4javascript.getDefaultLogger();
      logger.setLevel(log4javascript.Level.INFO);         
</script>


<script type="text/javascript">
     //Use logger
     logger.info('Test test');
</script>

私はlog4javascriptの作者であることを指摘しておく必要があります。

于 2010-05-07T23:00:15.883 に答える