306 votes

Comment initialiser log4j correctement ?

Après avoir ajouté log4j dans mon application, j’obtiens la sortie chaque fois que j’exécute mon application suivante :

 log4j : avertir pas appenders a pu être trouvées pour logger (slideselector.facedata.FaceDataParser). log4j : avertir veuillez initialiser le système de log4j correctement. 

Il semble que cela signifie qu'un fichier de configuration est manquant. Où ce fichier de configuration doit être situé et ce qui est un bon début contenu ?

J’utilise java clair pour le développement d’une application de bureau. Si aucun serveur Web etc....

300voto

polarbear Points 2662

Log4j par défaut recherche un fichier appelé log4j.propriétés ou log4j.xml sur le chemin de la classe. Vous pouvez contrôler les fichiers qu'il utilise pour initialiser lui-même en définissant les propriétés du système, comme décrit ici (voir les "Initialisation par Défaut de la Procédure").

Par exemple:

java -Dlog4j.configuration=customName ....

Sera la cause de log4j pour rechercher un fichier appelé customName sur le chemin de la classe.

Si vous rencontrez des problèmes je trouve utile d'activer le log4j.debug:

-Dlog4j.debug

Il apparaîtra à l'impression du Système.beaucoup de renseignements utiles à propos de fichier qui il utilisés pour initialiser lui-même, qui enregistreurs / appenders ai configuré et comment etc.

Le fichier de configuration peut être un fichier de propriétés java ou un fichier xml. Voici un échantillon des propriétés de format de fichier pris de la log4j intro page de documentation:

log4j.rootLogger=debug, stdout, R

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

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.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

253voto

Peter Lind Points 1345

Alors que la mise en place de log4j correctement est idéal pour les « vrais » projets vous pouvez une solution sale, par exemple si vous testez juste une nouvelle bibliothèque.

Si oui un appel à la méthode statique

installation base de connexion à la console, et les messages d’erreur aura disparu.

26voto

user831217 Points 140

Si vous simplement se débarrasser de tout (par exemple si vous êtes en essais)

13voto

JeeBee Points 11882

Trouver un log4j.properties ou log4j.xml en ligne disposant d’un appender de racine et le mettre sur le chemin des classes.

ouvre une session sur la console. Je préfère la consignation dans un fichier afin que vous puissiez examiner par la suite.

Bien que pour des applications de journalisation détaillée 100KO habituellement doit être augmentée à 1 Mo ou 10 Mo, surtout pour le débogage.

Personnellement, j’ai mis en place plusieurs bûcherons et définir le logger racine pour avertir ou le niveau d’erreur au lieu de débogage.

7voto

Ken Bloom Points 27197

La documentation de log4j dispose d’un même échantillon de base d’un fichier log4j.xml.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X