Question

Je me demande si quelqu'un arrive à avoir une certaine expérience en utilisant Log4js ? Il semble son état normal ConsoleAppender n'est pas toujours prêt à l'emploi immédiatement après il est ajouté à un objet enregistreur ... Si j'ai deux balises de script séquentiel dans un document comme:

//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>

... Il provoque la pop-up console (fenêtre pop-up) apparaît avec un message d'erreur à la page charge:

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

La console est toujours initialisés, il est là après, mais pour tout ce premier appel de l'enregistreur, il ne semble pas être là pleinement. Si je fais le premier setTimeout d'appel enregistreur ( « logger.info ( « test test ») », 1000), il n'a pas l'erreur. Donc, il est comme il est pas prêt immédiatement. Quelqu'un voit cela avant ou de savoir quelle solution peut-être?

Vive

Était-ce utile?

La solution

Je suggère en utilisant log4javascript à la place? Il a une API très similaire et une console supérieure, et est activement en cours d'élaboration. L'équivalent en log4javascript serait:

<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>

Je tiens à souligner que je suis l'auteur de log4javascript.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top