log4j - Panoramica
log4j è un framework di registrazione (API) affidabile, veloce e flessibile scritto in Java, distribuito sotto la licenza software Apache.
log4j è stato portato nei linguaggi C, C ++, C #, Perl, Python, Ruby e Eiffel.
log4j è altamente configurabile tramite file di configurazione esterni in fase di esecuzione. Visualizza il processo di registrazione in termini di livelli di priorità e offre meccanismi per indirizzare le informazioni di registrazione a una grande varietà di destinazioni, come un database, un file, una console, UNIX Syslog, ecc.
log4j ha tre componenti principali:
loggers: Responsabile dell'acquisizione delle informazioni di registrazione.
appenders: Responsabile della pubblicazione delle informazioni di registrazione in varie destinazioni preferite.
layouts: Responsabile della formattazione delle informazioni di registrazione in diversi stili.
Storia di log4j
Iniziato all'inizio del 1996 come API di tracciamento per il progetto EU SEMPER (Secure Electronic Marketplace for Europe).
Dopo innumerevoli miglioramenti e diverse incarnazioni, l'API iniziale si è evoluta fino a diventare log4j, un popolare pacchetto di registrazione per Java.
Il pacchetto è distribuito con la licenza software Apache, una licenza open source a tutti gli effetti certificata dall'iniziativa open source.
L'ultima versione di log4j, incluso il codice sorgente completo, i file di classe e la documentazione, è disponibile all'indirizzo http://logging.apache.org/log4j/.
Caratteristiche di log4j
È thread-safe.
È ottimizzato per la velocità.
Si basa su una gerarchia di logger denominata.
Supporta più appendici di output per logger.
Supporta l'internazionalizzazione.
Non è limitato a un insieme predefinito di servizi.
Il comportamento di registrazione può essere impostato in fase di esecuzione utilizzando un file di configurazione.
È progettato per gestire le eccezioni Java dall'inizio.
Usa più livelli, vale a dire ALL, TRACE, DEBUG, INFO, WARN, ERROR e FATAL.
Il formato dell'output del registro può essere facilmente modificato estendendo la classe Layout .
Il target dell'output del log e la strategia di scrittura possono essere modificati dalle implementazioni dell'interfaccia di Appender.
È fail-stop. Tuttavia, sebbene si sforzi di garantire la consegna, log4j non garantisce che ogni istruzione di registro verrà consegnata alla sua destinazione.
Pro e contro della registrazione
La registrazione è una componente importante dello sviluppo del software. Un codice di registrazione ben scritto offre un debug rapido, una facile manutenzione e un'archiviazione strutturata delle informazioni di runtime di un'applicazione.
La registrazione ha anche i suoi svantaggi. Può rallentare un'applicazione. Se troppo prolisso, può causare cecità da scorrimento. Per alleviare queste preoccupazioni, log4j è progettato per essere affidabile, veloce ed estensibile.
Poiché la registrazione è raramente l'obiettivo principale di un'applicazione, l'API log4j si sforza di essere semplice da capire e da usare.