2012-08-10 14 views
6

Me pregunto por qué tengo este error al implementar mi aplicación web.Cuáles son las posibles razones detrás de "log4j: Error No se pudo encontrar el valor para la clave log4j.appender.SQL_APPENDER"

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

Aquí está mi archivo 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 

¿Tengo que hacer alguna configuración en el lado del servidor? Estoy ejecutando mi aplicación en un servidor Tomcat 7. He añadido esta dependencia en el fichero de pom.xml:

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

Otros que se encontraban en la misma situación que la mía donde log4j.properties se ve perfectamente bien, busque otra versión de log4j.properties al acecho en algún lugar de la ruta de clases. Tenía un archivo diferente (probablemente para probarlo) con una configuración incorrecta y fue el culpable. Tomó un tiempo para darse cuenta de eso. – asgs

Respuesta

10

Es necesario definir log.appender.SQL_APPENDER, ya que se le asigna en la línea

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

está definiendo appender R pero sin SQL_APPENDER

+0

Gracias SJuan, en realidad no estoy familiarizado en absoluto con las aplicaciones web, ¿pueden explicarme cómo definir SQL_APPENDER? – Rami

+1

No es un problema de aplicación web, sino un problema de configuración de log4j. La forma más fácil sería copiar la definición de 'log.appender.R' a' log.appender.SQL_APPENDER' (cambiar el 'FILE' a un destino diferente) – SJuan76

+0

¡Genial! Gracias Juan. – Rami

1

Como SJuan mencionado que necesita definir

log.appender.SQL_APPENDER

y que se hace algo como esto:

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

y como bien podría añadir estos, mientras que usted está en él ...

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

Espero que esto ayude a alguien!

Cuestiones relacionadas