2010-11-18 4 views
0

Je souhaite configurer mon système d'enregistrement basé sur slf4j et log4j. Je veux enregistrer tous les messages de la classe com.A. Et seulement ces messages.Configuration de log4j

donc j'ai écrit dans mon fichier de configuration

 
log4j.rootLogger=FATAL, All 
log4j.rootLogger=DEBUG, A1 
log4j.appender.A1=com.A 
log4j.appender.Console=org.apache.log4j.ConsoleAppender 
log4j.appender.Console.layout=org.apache.log4j.PatternLayout 
log4j.appender.Console.layout.conversionPattern=%m%n 

Mon coureur (classe com.Start) contient

PropertyConfigurator.configure("log4j.properties"); 

Mais quand je commence l'application je reçois

log4j:ERROR A "com.A" object is not assignable to a "org.apache.log4j.Appender" variable. 
log4j:ERROR The class "org.apache.log4j.Appender" was loaded by 
log4j:ERROR [[email protected]] whereas object of type 
log4j:ERROR "com.A" was loaded by [[email protected]]. 
log4j:ERROR Could not instantiate appender named "A1". 
log4j:WARN No appenders could be found for logger (com.Start). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 

Où est ma Erreur?

Merci.

Répondre

2

Votre fichier de configuration n'est pas correctement écrit.
Appender ne doit pas être la décélération de la classe/package, mais un type de appender que vous souhaitez messages sortie à (laisser le champ vide si vous souhaitez sortie au appender par défaut)
Le fichier devrait ressembler davantage:

 
log4j.rootLogger=FATAL 
log4j.logger.com.A=DEBUG 
+0

Merci. Mais il y a une erreur non reconnue. J'ai édité mon msg. –

2

Votre fichier est-il mal formaté? Ce que vous avez posté semble brisé. Je mets dans certains linebreaks:

log4j.rootLogger=FATAL, All 
log4j.rootLogger=DEBUG, A1 
log4j.appender.A1=com.A 
log4j.appender.Console=org.apache.log4j.ConsoleAppender 
log4j.appender.Console.layout=org.apache.log4j.PatternLayout 
log4j.appender.Console.layout.conversionPattern=%m%n 

cette ligne semble mal aussi:

log4j.appender.A1=com.A 

Il doit indiquer le nom d'une vraie classe appender, comme

log4j.appender.A1=org.apache.log4j.ConsoleAppender 
+0

Merci. Il y a un appender pour le journal de printemps. J'ai mis à jour mon message. –

Questions connexes