簡體   English   中英

log4js ConsoleAppender初始化

[英]log4js ConsoleAppender initialization

我想知道是否有人碰巧有使用Log4js的經驗? 在將其添加到記錄器對象后,似乎它的常規ConsoleAppender並不總是可以立即使用...如果我在文檔中有兩個順序腳本標簽,例如:

//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),則沒有錯誤。 這就好像還沒有立即准備好。 有人以前看到過此消息,或者知道什么是解決方法?

干杯

我可以建議改用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的作者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM