2010-01-24 8 views
8

Quelle est la manière la plus simple de commencer avec la configuration de log4j?Exemple de fichier de configuration log4j (fichier de propriétés)

+3

meilleure façon, dans votre principale méthode 'faire BasicConfigurator.configure();' –

+1

@Alexander, votre chemin est plus facile, mais pas toujours approprié, lorsque vous travaillez avec des cadres (qui ne fonctionne pas avec les cadres de nos jours) vous n'écrivez pas la méthode principale. Parfois, comme au printemps ou dans les servlets, vous ne pouvez même pas savoir à l'avance quel morceau de code va fonctionner en premier. – flybywire

Répondre

20

Mettez un fichier nommé log4j.properties dans la racine de votre classpath:

log4j.rootLogger = ALL, Console 
log4j.appender.Console=org.apache.log4j.ConsoleAppender 
log4j.appender.Console.layout=org.apache.log4j.PatternLayout 
log4j.appender.Console.layout.conversionPattern=%m%n 

Rien d'autre est nécessaire. Log4j va le découvrir et se configurer.

3

Il vaut la peine de lire le manual (au risque d'énoncer l'évidence). Il y a une tonne d'options de configuration, et une fois que vous apprenez et comprenez ce qui est possible, vous pouvez implémenter des systèmes de journalisation très puissants.

5

Le moyen le plus simple est de visiter les pages log4j d'apache et de lire le short introduction. Ils ont un exemple de configuration log4j prêt à être copié et collé.

1

Dans le cas où vous tombez sur cela et que vous recherchez un fichier d'exemple pour log4j2. La façon dont je l'ai fait fonctionner était de créer un nom de fichier log4j2.xml dans le répertoire 'resources' de base (j'utilise maven pour 'src/main/resources')

Puis copiez l'exemple de configuration de le manuel: http://logging.apache.org/log4j/2.x/manual/configuration.html

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN"> 
    <Appenders> 
    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 
    </Appenders> 
    <Loggers> 
    <Root level="error"> 
     <AppenderRef ref="Console"/> 
    </Root> 
    </Loggers> 
</Configuration> 

Cela vous donnera un enregistreur de console simple et agréable. Je vous recommande de modifier le motif à la manière dont vous voulez qu'il apparaisse et le 'Niveau racine =' à quelque chose de plus inclusif. Et bien sûr, lisez le manuel pour des paramètres plus puissants ...

0

En plus de certaines autres réponses, j'ajouterais un ajout de persistance puisque c'est le plus grand avantage d'utiliser les logs sur les consoles et les débogueurs; lorsque l'on ne peut pas exécuter le code de l'application en temps réel ou que l'événement s'est déjà produit. !/"Path"/"nomfichier" écrira à la racine du système de fichiers.

! "chemin"/"nom de fichier" écrira sur le chemin relatif à la racine du classpath.

log4j.rootLogger = ALL, Console, default.file 
log4j.appender.default.file=org.apache.log4j.FileAppender 
log4j.appender.default.file.file={path}/{filename} 
log4j.appender.default.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.default.file.layout.conversionPattern=%m%n 

log4j.appender.Console=org.apache.log4j.ConsoleAppender 
... 
Questions connexes