【问题标题】:log4js ConsoleAppender initializationlog4js ConsoleAppender 初始化
【发布时间】:2023-04-03 16:29:01
【问题描述】:

我想知道是否有人碰巧有使用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),它没有错误。所以它就像它没有立即准备好。任何人以前都见过这个或知道可能的解决方法是什么?

干杯

【问题讨论】:

    标签: javascript logging log4js-node


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 2020-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      相关资源
      最近更新 更多