/ / GoogleApp Avviso registro motore: java, google-app-engine, log4j

Avviso del log di GoogleAppEngine - java, google-app-engine, log4j

Creo un progetto predefinito utilizzando GoogleAppEngine per Java e quando distribuisco la mia applicazione sul server di Google ho il seguente messaggio di avviso per la prima richiesta.

log4j: WARN Impossibile trovare appendici per il logger (DataNucleus.Connection).
log4j: WARN Si prega di inizializzare correttamente il sistema log4j.

Il registro funziona correttamente, ma alcune richieste sono ritardate da questo problema.

Come posso configurarlo correttamente?

risposte:

1 per risposta № 1

Cosa ti assicura che ciò stia ritardando alcune delle tue richieste?

GAE non funziona come un servlet standardcontenitore. Dietro le quinte scarica tutte le webapp che sono inattive, quindi le carica di nuovo solo quando riceve una nuova richiesta per quella webapp. Questo è fondamentalmente equivalente a una completa ridistribuzione della tua applicazione, e non può nemmeno iniziare fino a quando dopo GAE ha ricevuto la richiesta. Pertanto, qualsiasi richiesta che innesca un'operazione di caricamento sarà notevolmente ritardata rispetto alle richieste successive.

Ma ci sono un sacco di cose in corso che stanno contribuendo al ritardo e penso che una configurazione log4j non inizializzata non stia facendo molta differenza.


0 per risposta № 2

Questo messaggio indica che non è stata trovata alcuna configurazione log4j.

Devi inserire una configurazione per log4j, ad esempio nel file denominato come log4j.properties nel percorso di classe dell'app.

La configurazione, ad esempio, sarebbe:

log4j.rootLogger=WARN, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n

Se il tuo progetto è basato su Maven, il posto migliore dove metterlo log4j.properties sarà src/main/resources