2012-08-10 12 views
6

Mi chiedo perché ho questo errore durante la distribuzione della mia applicazione web.Quali sono le possibili ragioni dietro "log4j: Errore Impossibile trovare il valore per la chiave log4j.appender.SQL_APPENDER"

log4j: Error Could not find value for key log4j.appender.SQL_APPENDER 

Ecco il file log4j.properties.

log4j.rootLogger=error, stdout 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 

# Print the date in ISO 8601 format 
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n 

log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=application.log 

log4j.appender.R.MaxFileSize=100KB 
# Keep one backup file 
log4j.appender.R.MaxBackupIndex=1 

log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n 

log4j.logger.org.hibernate.SQL=DEBUG, SQL_APPENDER 
log4j.additivity.org.hibernate.SQL=false 

Devo eseguire alcune configurazioni sul lato server? Sto eseguendo la mia applicazione su un server Tomcat 7. Ho aggiunto questa dipendenza al file pom.xml:

<dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.16</version> 
</dependency> 
+1

Altri che si trovavano nella stessa situazione del mio dove log4j.properties sembra perfettamente a posto, cercare un'altra versione di log4j.properties in agguato da qualche parte sul classpath. Ho avuto un file diverso (probabilmente per i test) con impostazioni errate ed è stato il colpevole. Ci è voluto del tempo per rendersene conto. – asgs

risposta

10

È necessario definire log.appender.SQL_APPENDER, dal momento che si assegna nella linea

log4j.logger.org.hibernate.SQL=DEBUG, SQL_APPENDER 

si sta definendo appender R ma nessuno SQL_APPENDER

+0

Grazie, SJuan, in realtà non sono affatto familiare con le applicazioni web, puoi spiegarmi come definire un SQL_APPENDER? – Rami

+1

Non si tratta di un problema Webapp ma di un problema di configurazione di log4j. Il modo più semplice sarebbe copiare la definizione di 'log.appender.R' in' log.appender.SQL_APPENDER' (cambiare il 'FILE' in un'altra destinazione) – SJuan76

+0

Great! Grazie Juan. – Rami

1

Come SJuan menzionato è necessario definire

log.appender.SQL_APPENDER

e che è fatto qualcosa di simile:

log4j.appender.SQL_APPENDER = org.apache.log4j.RollingFileAppender

e potrebbe anche aggiungere questi mentre si è in esso ...

log4j.appender.SQL_APPENDER.File = c: /EC_sql.log log4j.appender.S QL_APPENDER.MaxFileSize = 1000KB log4j.appender.SQL_APPENDER.MaxBackupIndex = 62 log4j.appender.SQL_APPENDER.layout = org.apache.log4j.PatternLayout log4j.appender.SQL_APPENDER.layout.ConversionPattern = [% d]% 5p [% t] (% F:% L) -% m% n

Spero che questo aiuti qualcuno!

Problemi correlati