2012-08-10 15 views
6

Ich frage mich, warum ich diesen Fehler bei der Bereitstellung meiner Webanwendung habe.Was sind die möglichen Gründe für "log4j: Fehler Konnte keinen Wert für den Schlüssel log4j.appender.SQL_APPENDER finden"

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

Hier ist meine log4j.properties Datei.

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 

Muss ich einige Konfiguration auf der Serverseite vornehmen? Ich verwende meine Anwendung auf einem Tomcat 7 Server. Ich fügte hinzu, diese Abhängigkeit zu der pom.xml Datei:

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

Andere, die in der gleichen Situation waren wie meine, wo die log4j.properties vollkommen in Ordnung ist, bitte achten Sie auf andere Versionen von log4j.properties, die irgendwo auf dem Klassenpfad lauern. Ich hatte eine andere Datei (wahrscheinlich zum Testen) mit falschen Einstellungen und es war der Schuldige. Nahm etwas Zeit, das zu erkennen. – asgs

Antwort

10

Sie müssen log.appender.SQL_APPENDER definieren, da Sie es in der

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

Sie definieren appender R aber keine SQL_APPENDER

+0

Danke SJuan, ich bin eigentlich überhaupt nicht mit Web-Anwendungen vertraut, kannst du mir bitte erklären, wie man einen SQL_APPENDER definiert? – Rami

+1

Es handelt sich nicht um ein Webapp-Problem, sondern um ein log4j-Konfigurationsproblem. Der einfachste Weg wäre, die Definition von 'log.appender.R' in' log.appender.SQL_APPENDER' zu kopieren (die 'FILE' in ein anderes Ziel zu ändern) – SJuan76

+0

Großartig! Danke Juan. – Rami

1

Als SJuan erwähnt müssen Sie definieren

log.appender.SQL_APPENDER

und dass etwas getan wird:

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

und könnte auch hinzufügen diese, während Sie es sind ...

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

Hoffe, das hilft jemandem!

Verwandte Themen