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.