2009-02-18 3 views
3

Java 5 a introduit de nombreuses fonctionnalités qui peuvent rendre les instructions de journalisation moins encombrées, telles que le nombre variable d'arguments et printf. Cela peut alléger tout le code de construction de message qui se produit lorsque quelque chose est enregistré, ainsi que les if environnants.Existe-t-il une extension log4j ou commons logging ou un autre cadre de journalisation conçu pour Java 5 ou supérieur?

Par exemple, au lieu d'écrire:

if (log.isDebugEnabled() 
{ 
    log.debug("User id: "+uid+", Request id:" 
    + rid +", Client IP: "+ip+" blah blah blah"); 
} 

Je voudrais écrire:

log.debug("User id: %s, Request id: %s, Client IP: %s blah blah blah", 
uid, rid, ip); 

ou quelque chose comme ça. Connaissez-vous un cadre de journalisation ou une extension à un cadre de journalisation qui peut aider à cela?

Répondre

3

Log5j est exactement ce dont vous avez besoin.

1

Il est assez facile d'écrire vos propres méthodes wrapper pour cela.

2

Simple Logging Facade for Java (SLF4J)

la façade simple d'enregistrement pour Java ou (SLF4J) est destiné à servir de façade simple pour diverses API de journalisation permettant à l'utilisateur final pour brancher la mise en œuvre souhaitée à temps de déploiement. SLF4J prend également en charge les API héritées de passerelle ainsi qu'un outil de migration de code source .

API SLF4J offre une abstraction avancée de divers systèmes, l'exploitation forestière y compris l'exploitation forestière, JDK 1.4 log4j et logback. Les caractéristiques comprennent la journalisation paramétrée et le support MDC.

Exemple: "Bonjour tout le monde"

logger.info("{} {}!", "Hello", "world"); 

produit mais seulement si le niveau d'information est activé.

+0

SLF4J n'a pas d'instruction de journal à paramètres variables comme les demandes OP. (Seulement 1 et 2 arguments, le reste sont Object [] – krosenvold

+0

Hmmm, true.) Je n'ai jamais réalisé cela (Bug pour ce problème est à: http://bugzilla.slf4j.org/show_bug.cgi?id=31) –

Questions connexes