2009-09-29 14 views
7

Ho intenzione di utilizzare Log4j nella mia applicazione web e sono nuovo di quello. Quali sono gli usi di Log4j e come li utilizzo nella mia applicazione. Grazie in anticipo.Qual è l'uso dell'API Log4j?

risposta

12

Penso che lo Log4J home page offra la migliore panoramica e logica del suo utilizzo.

Con log4j è possibile abilitare registrazione all'avvio senza modificare il binario dell'applicazione. Il pacchetto log4j è progettato in modo che queste istruzioni possano rimanere nel codice spedito senza incorrere in un costo notevole . Il comportamento di registrazione può essere controllato modificando un file di configurazione , senza toccare l'applicazione binario.

La registrazione fornisce allo sviluppatore il contesto dettagliato per gli errori dell'applicazione . D'altra parte, il test fornisce la garanzia della qualità e la sicurezza di nell'applicazione. La registrazione e il test non devono essere confusi. Sono complementari. Quando si utilizza saggiamente , può rivelarsi uno strumento essenziale .

Per aggiungere a questo, con Log4J è possibile attivare dinamicamente la registrazione on/off. È possibile modificare il formato in modo dinamico (vuoi i timestamp? Datasamp?) E puoi cambiare dove va il log (alla console? A un file? A un database?), Tutto senza cambiare il codice.

+1

È inoltre possibile accedere a più origini contemporaneamente. In un'applicazione a cui sto lavorando ora, quando eseguo il test dell'applicazione, accedo alla console (così posso vedere le informazioni di debug e gli eventuali errori che compaiono) insieme al file di registro standard che è sempre registrato . Abbastanza utile. –

1

La bellezza di log4j è nella sua architettura di appendici e layout. Come accennato dal precedente poster, si modifica l'aspetto della registrazione dell'applicazione senza molti problemi, il più delle volte si tratta solo di una semplice configurazione. Uno degli usi che aggiungerei da parte mia è la registrazione centralizzata che può essere aggiunta alla tua applicazione senza toccare la sua base di codice. Ad esempio: guarda this.

1

Al livello più elementare, è possibile considerarlo come una sostituzione di System.out.println nel codice. Perché è meglio di System.out.println? Le ragioni sono numerose.

Per iniziare, System.out.println viene emesso sullo standard output, che in genere è una finestra della console. L'output di Log4j può andare alla console, ma può anche andare a un server di posta elettronica, una tabella di databaseW, un file di registro o varie altre destinazioni.

Un altro grande vantaggio di Log4j è la possibilità di impostare diversi livelli di registrazione. I livelli sono gerarchici e sono i seguenti: TRACE, DEBUG, INFO, WARN, ERROR e FATAL. Se si imposta un livello di registro particolare, i messaggi verranno registrati per quel livello e per tutti i livelli sopra di esso e non per i livelli di registro inferiori. Ad esempio, se il tuo livello di registro è impostato su ERROR, registrerai i messaggi che sono errori e fatali. Se il tuo livello di registro è impostato su INFO, registrerai i messaggi che contengono informazioni, avvertimenti, errori ed eventi fatali. In genere, quando si sviluppa sul computer locale, è opportuno impostare il livello di registro su DEBUG e, quando si distribuisce un'applicazione Web, è necessario impostare il livello di registro su INFO o superiore in modo da non riempire i registri degli errori con messaggi di debug.

Log4j può fare altre grandi cose. Ad esempio, è possibile impostare i livelli per particolari classi Java, in modo che se una determinata classe sputa un sacco di avvertimenti, è possibile impostare il livello di registro per quella classe su ERROR per sopprimere tutti i messaggi di avviso.

Read more...