2010-11-11 7 views
3

Avoir log4j.properties fichier, qui enregistre plus que je ne m'attends, en particulier, il enregistre les événements pour les bibliothèques Spring.
Et seuls les événements spécifiques au projet doivent être filtrés.Log4j - Filtrage des journaux pour le projet en cours seulement

Est-ce un paramètre de filtrage qui spécifie quelles classes (projet ou espace de noms) doivent être consignées?

Merci.

Répondre

4

Oui, créez une entrée de journal qui utilise le nom de votre package.

log4j.logger.com.my.package=INFO 

Définissez votre appender sur un paramètre plus détaillé et définissez l'appender root à un niveau supérieur, tel que ERROR ou WARN.

log4j.rootLogger=ERROR, stdout 

Voir ce post: Log4j | Updating the Log Level for the Appender

+0

pouvons-nous faire cela dans un Java? Comment définir la journalisation sur un package spécifique? – latestVersion

2

A partir du manuel log4j:

# Print only messages of level WARN or above in the package com.foo. 
log4j.logger.com.foo=WARN 

Remplacer com.foo avec celui qui veut être ignoré et définir le niveau d'enregistrement à une valeur élevée comme WARN ou ERROR.

0

J'ai trouvé une autre façon de le faire.

J'avais des problèmes lorsque j'utilisais le niveau DEBUG ou supérieur, les bibliothèques que j'utilisais dans mon projet arrivaient à la console. Il est préférable de configurer correctement votre projet, mais vous pouvez le faire simplement en désactivant l'enregistreur pour un package spécifique.

Dans l'extrait ci-dessous, tous les packages commençant par org. * ont été désactivés. A fait le travail pour moi. à cet au manuel: http://logging.apache.org/log4j/1.2/manual.html

log4j.rootLogger=INFO, stdout 

# Disables logger for all org.* packages 
log4j.logger.org=OFF 
Questions connexes