首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >log4js ConsoleAppender初始化

log4js ConsoleAppender初始化
EN

Stack Overflow用户
提问于 2010-05-08 04:08:37
回答 1查看 1.9K关注 0票数 1

我想知道是否有人碰巧有使用Log4js的经验?似乎它的普通ConsoleAppender在添加到记录器对象后并不总是准备好立即使用……如果我在文档中有两个顺序的脚本标记,如下所示:

代码语言:javascript
复制
//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>

..。它会导致控制台弹出窗口(弹出窗口)在页面加载时显示一条错误消息:

代码语言:javascript
复制
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),它不会出现错误。所以它看起来不是马上就能准备好的。有没有人以前见过或者知道什么是变通方法?

干杯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-08 07:00:16

我可以建议改用log4javascript吗?它有一个非常相似的API和一个高级控制台,并且正在积极开发中。log4javascript中的等价物是:

代码语言:javascript
复制
<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的作者。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2791393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档