2012-04-20 13 views
15

So che è un pacchetto differenzaDifferenza tra Logger.getLogger (className) e LogFactory.getLog (className)?

1) org.apache.log4j.Logger logger = Logger.getLogger(clazz);

2) org.apache.commons.logging.Log log = LogFactory.getLog(clazz);

Il primo usa logger tramite log4j e la seconda utilizza commons.logging. Abbiamo un grande progetto in cui in alcune classi i logger sono configurati usando log4j e in alcuni casi il suo commons.logging.

Ho trovato un file di proprietà log4j. C'è un file di proprietà simile per commons.logging? Dove posso configurare la registrazione delle risorse comuni? Non riesco a visualizzare i log generati da commons-logging.

Qualsiasi aiuto è apprezzato.

+2

La registrazione dei domini include altre librerie di registrazione; se stai usando log4j userà quel file di configurazione. –

+0

Quindi la registrazione delle commons utilizza Log4j internamente? Per favore, spiega cosa intendi. Non ne ho idea. –

+0

puoi usare il file commons-logging.properties – Satya

risposta

9

Sì, commons-logging è un'API facciata che è stato supponiamo di voi astratta da quadro di registrazione sottostante (in pratica c'era una scelta tra e java.util.logging) in modo che si possa passare da uno all'altro senza toccare il codice - basta cambiando le librerie disponibili sul CLASSPATH.

Sfortunatamente a causa di alcuni errori di progettazione ha avuto problemi con ambienti di caricamento classi complessi, come i server applicazioni. Attualmente è efficacemente sostituito da .

Nel tuo caso, consiglierei di attenersi a una sola API: Log4J o Common-logging, anche se la registrazione delle commons (probabilmente) delegherà a log4J. Puoi anche eseguire la migrazione a SLF4J e installare le API di bridging, ma questo è leggermente più avanzato.

+0

Penso che tu voglia dire superato ... non soppresso. –

+1

@Tomasz Nurkiewicz: Riesco a vedere i logger configurati tramite log4j, mentre quelli da logging comune non vengono generati. Qualche problema di configurazione, pensi? –

+0

@StephenC: certo, grazie! –

Problemi correlati