log4js ConsoleAppender inizializzazione
-
04-10-2019 - |
Domanda
Mi chiedo se qualcuno capita di avere una certa esperienza con Log4js ? Sembra la sua normale ConsoleAppender non è sempre pronto per l'uso subito dopo che è aggiunto a un oggetto logger ... Se ho due tag script sequenziali in un documento come:
//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>
... Essa provoca la console pop-up (finestra pop-up) di apparire un messaggio di errore al caricamento della pagina:
12:58:23 PM WARN Log4js - Could not run the listener function () {
return fn.apply(object, arguments);
}.
TypeError: this.outputElement is null
La console è ancora inizializzato, è lì in seguito, ma per solo che prima chiamata logger non sembra esserci pienamente. Se faccio la prima chiamata setTimeout logger ( "logger.info ( 'test test')", 1000), non ha l'errore. Quindi è come non è pronta immediatamente. Chiunque vedere questo prima o sapere quale potrebbe essere una soluzione?
Saluti
Soluzione
Mi permetto di suggerire utilizzando log4javascript invece? Ha un'API molto simile e una console superiore, ed è attivamente sviluppato. L'equivalente in log4javascript potrebbe essere:
<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>
Vorrei sottolineare che io sono l'autore di log4javascript.