IBM Enterprise Records, Versione 5.1.+            

Configurazione del file log4j.properties

L'applicazione IBM® Enterprise Records contiene un file log4j.properties di esempio che è possibile configurare.

Il file log4j.properties si trova nella cartella ier_install_path\ RecordsManagerSweep ed è possibile configurarne il comportamento di registrazione specificando nel file i valori di quanto segue:

A ciascun programma di registrazione nel file log4j.properties viene assegnato un livello. Se non si assegna un livello ad un programma di registrazione, log4j gli assegnerà automaticamente il livello del suo programma di registrazione padre. Per impostazione predefinita, ad un programma di registrazione viene assegnato il livello WARN.

È possibile configurare il file log4j.properties con diverse impostazioni per il programma di registrazione, l'appender e di layout. Il file log4j.properties deve essere disponibile per l'applicazione al momento del runtime dal percorso classe. Le voci nel file di esempio possono essere commentate facendo precedere l'istruzione dal simbolo (#). Le voci contrassegnate dal simbolo (#) non verranno eseguite durante il runtime.

Per aprire il file log4j.properties, spostarsi nella cartella dir_installazione_ier\RecordsManagerSweep, quindi aprire il file con un editor di test.

Impostazione del programma di registrazione e del livello di registrazione

È necessario impostare in primo luogo il programma di registrazione. È possibile avere svariati programmi di registrazione per classificare il tipo di registrazione richiesta da un'applicazione. Per abilitare la registrazione di tutte le classi di com.filenet.rm e dei suoi package secondari, specificare il programma di registrazione come di seguito riportato:

log4j.logger.com.filenet.rmor 

È possibile specificare qualsiasi nome per il programma di registrazione. Ad esempio, lo si può denominare APILOG come mostrato nell'istruzione che segue:

log4j.logger.com.filenet.rm=warn, APILOG

Si dovrà impostare il livello di registrazione per stabilire il livello di dettaglio dei messaggi registrati da log4j durante il runtime. log4j supporta cinque livelli normali di registrazione come riportato nella tabella seguente.

Tabella 1. Livello dei messaggi registrati da log4j durante il runtime
Livello Descrizione
DEBUG Riporta eventi informativi dettagliati più utili per effettuare il debug di un'applicazione.
INFO Riporta messaggi informativi che evidenziano l'avanzamento dell'applicazione ad un livello generico
WARN Riporta situazioni potenzialmente pericolose.
ERROR Riporta eventi di errore che potrebbero comunque consentire all'applicazione di proseguire l'esecuzione.
FATAL Riporta eventi di errore molto gravi che potrebbero presumibilmente portare all'interruzione dell'applicazione.

Vedere la documentazione log4j sul sito web di Apache per informazioni su livelli di registrazione speciali e personalizzati. Per impostazione predefinita, l'applicazione parte con il livello WARN. Questa impostazione può essere cambiata in DEBUG, INFO, ERROR, WARN o FATAL al momento del runtime. È inoltre possibile inserire diverse istruzioni del programma di registrazione, tutte per lo stesso programma di registrazione ma con livelli diversi (come ad esempio DEBUG per uno e WARN per un altro). È possibile commentare un'istruzione o l'altra facendole precedere dal simbolo (#) ed alternare tra i livelli DEBUG e WARN a seconda delle esigenze. Le voci contrassegnate dal simbolo (#) non verranno eseguite durante il runtime. Un programma di registrazione senza livello eredita automaticamente quello del programma di registrazione padre. Per impostazione predefinita, ad un programma di registrazione RM API in IBM Enterprise Records viene assegnato il livello WARN.

Impostazione degli appender

Un programma di registrazione viene associato ad uno o più appender per far sì che i messaggi di log siano scritti su un dispositivo di output. È possibile impostare diversi tipi di appender nel file log4j.properties che inviano le informazioni log ad una posizione di output specificata. La seguente tabella fornisce un elenco di tutti gli appender utilizzati nel file log4j.properties assieme ad una breve descrizione ed alle opzioni correlate.

Tabella 2. Appender, descrizioni e frammenti di codice
Appender Descrizione e frammenti di codice
NTEventLogAppender

Aggiunge al registro eventi di Microsoft Windows NT. Questo appender può essere installato ed utilizzato solo su un sistema Windows.

log4j.appender.APILOG=org.apache.log4j.nt.NTEventLogAppender
ConsoleAppender

Aggiunge i messaggi di log al flusso System.out (impostazione predefinita) o System.err utilizzando il layout specificato dall'utente.

 log4j.appender.APILOG=org.apache.log4j.ConsoleAppender

Opzioni:

  • Threshold=WARN: questo appender non registrerà alcun messaggio che abbia una priorità più bassa di quella qui specificata, anche se la priorità del programma di registrazione è impostata su un valore più basso. Questa opzione è utile per ridurre il numero di messaggi, ad esempio, in un file log mentre a console si continuano a visualizzare tutti i messaggi.
  • ImmediateFlush=true: l'impostazione predefinita è true, cioè i messaggi di log non sono memorizzati nel buffer. Se ImmdiateFlush è impostata su false, gli ultimi pochi eventi log potrebbero non venire scritti su un dispositivo costante quando si verifica un problema con l'applicazione. L'impostazione consigliata è true.
FileAppender

Aggiunge i messaggi log ad un file.

 log4j.appender.APILOG=org.apache.log4j.FileAppender

Opzioni:

  • Threshold=WARN: questo appender non registrerà alcun messaggio che abbia una priorità più bassa di quella qui specificata, anche se la priorità del programma di registrazione è impostata su un valore più basso. Questa opzione è utile per ridurre il numero di messaggi, ad esempio, in un file log mentre a console si continuano a visualizzare tutti i messaggi.
  • ImmediateFlush=true: l'impostazione predefinita è true, cioè i messaggi di log non sono memorizzati nel buffer. Se ImmdiateFlush è impostata su false, gli ultimi pochi eventi log potrebbero non venire scritti su un dispositivo costante quando si verifica un problema con l'applicazione. L'impostazione consigliata è true.
  • File=mylog.txt: nome file in cui registrare. È possibile utilizzare ${some_property_key} (ad esempio, le proprietà di sistema java.home o user.home) per specificare il percorso.
  • Append=false: per impostazione predefinita è true, cioè di aggiungere alla fine del file. False sovrascrive il file all'inizio dell'esecuzione di ogni programma.
RollingFileAppender

Estende FileAppender in modo che si effettui il backup dei file di log quando raggiungono una determinata dimensione.

 log4j.appender.APILOG=org.apache.log4j.RollingFileAppender

Opzioni:

  • Threshold=INFO: questo appender non registrerà alcun messaggio che abbia una priorità più bassa di quella qui specificata, anche se la priorità del programma di registrazione è impostata su un valore più basso. Questa opzione è utile per ridurre il numero di messaggi, ad esempio, in un file log mentre a console si continuano a visualizzare tutti i messaggi.
  • ImmediateFlush=true: l'impostazione predefinita è true, cioè i messaggi di log non sono memorizzati nel buffer. Se ImmdiateFlush è impostata su false, gli ultimi pochi eventi log potrebbero non venire scritti su un dispositivo costante quando si verifica un problema con l'applicazione. L'impostazione consigliata è true.
  • File=mylog.txt: nome file in cui registrare. È possibile utilizzare ${some_property_key} (ad esempio, le proprietà di sistema java.home o user.home) per farlo precedere dal percorso.
  • Append=false: per impostazione predefinita è true, cioè di aggiungere alla fine del file. False sovrascrive il file all'inizio dell'esecuzione di ogni programma.
  • MaxFileSize=100KB: i suffissi possono essere KB, MB o GB. Al raggiungimento della dimensione riavvolge il log. Append accetta un valore booleano che determina se i file di output verranno sovrascritti (false) o se vi si scriverà in aggiunta (true). Impostando il valore su false (impostazione predefinita) si evita che i file crescano oltre limite. Tale impostazione è consigliata per gli ambienti di sviluppo in cui si effettuano esecuzioni occasionali. L'impostazione del valore su true farà sì che l'output venga aggiunto al file di log esistente ad ogni esecuzione di ciascuna JVM. È possibile limitare la dimensione del file di output impostando la parola chiave MaxFileSize. Ad esempio, se si configura un file di output, cjapi_log.txt, con MaxFileSize=128KB e MaxBackupIndex=1, quando il file supererà i 128 KB, il suo contenuto verrà automaticamente spostato in cjapi_log.txt.1 mentre la scrittura proseguirà in un file cjapi_log.txt vuoto.
  • MaxBackupIndex=2: gestisce massimo 2 file (ad esempio) di backup. Elimina i file più vecchi. 0 significa che non viene mantenuto nessun file di backup.

Impostazione dei layout

Nel file log4j.properties è possibile impostare diversi layout che definiscano il formato del messaggio di log. È possibile specificare che i messaggi di log contengano data, ora, nome modulo, nome thread e così via. Queste impostazioni di configurazione sono utilizzate al momento del runtime mentre si registrano i messaggi.

La seguente tabella fornisce un elenco di tutti i layout utilizzati nel file log4j.properties di IBM Enterprise Records assieme ad una breve descrizione ed alle opzioni correlate.

Tabella 3. Layout e descrizioni
Layout Descrizione e frammenti di codice
SimpleLayout

Stampa il livello, poi un trattino (-) seguito dal testo del messaggio di log.

org.apache.log4j.SimpleLayout
PatternLayout

Formatta gli event registrati in base ad un modello di conversione specificato. I modelli di conversione sono composti da valori letterali ed identificatori di conversione. I valori letterali vanno in output come sono. Gli identificatori di conversione sono formati da un carattere %, seguito da un modificatore di formato e da un carattere di conversione obbligatorio. Ad esempio, %-5p [%t]: %m%n è un modello di conversione formato da un identificatore di conversione prioritario (livello a.k.a.), seguito da un valore letterale " [", seguito da un identificatore di conversione thread, seguito da un valore letterale "]: ", seguito da un identificatore di conversione del messaggio e da un separatore di riga dipendente dal sistema.

org.apache.log4j.PatternLayout

Opzioni:

  • ConversionPattern=%-5p, [%t]:%m%n: come formattare ciascun messaggio di log (quali informazioni inserire).
HTMLLayout

Formatta l'output come una tabella HTML.

org.apache.log4j.HTMLLayout

Opzioni:

  • LocationInfo=true: restituisce in output il nome file Java ed il numero riga. L'impostazione predefinita è false.
  • Title=My app title: imposta la tag <title> di HTML. L'impostazione predefinita è Log4J Log Messages.
 

Formatta l'output in XML.

org.apache.log4j.xml.XMLLayout

Opzioni:

  • LocationInfo=true: restituisce in output il nome file Java ed il numero riga. L'impostazione predefinita è false.

Il file log4j.properties, fornito con IBM Enterprise Records utilizza PatternLayout per il formato dei messaggi di log. La seguente tabella fornisce un elenco di modelli di conversione che è possibile dichiarare nel file di configurazione assieme ad una loro breve descrizione.

Tabella 4. Modelli di conversione e loro descrizione
Modello Descrizione
%t Nome del thread che effettua la richiesta di registrazione.
%c Nome del programma di registrazione associato con la richiesta di registrazione
%-60c Giustifica a sinistra il nome del programma di registrazione in minimo 60 spazi
%r Numero di millisecondi trascorsi dall'avvio dell'applicazione
%p Livello dell'istruzione del log
%m Messaggio
%Time Ora in cui si verifica la registrazione
%d Data dell'evento registrato
%n Nuova riga

La seguente istruzione di codice mostra come abilitare PatternLayout e specificare un semplice modello di conversione:

log4j.appender.APILOG.layout=org.apache.log4j.PatternLayout
log4j.appender.APILOG.layout.ConversionPattern=%-5p %d {dd MMM yyyy HH:mm:ss,SSS}, -%m, %r, [%M] % n

Esempio:

WARN, 20 Jun 2005 14:48:20,900, -[enter] getObjectStoreXML(ObjectStores), 102042, [setLoggerMessage]
WARN, 20 Jun 2005 14:48:21,100, -[exit] getObjectStoreXML(ObjectStores), 102342, [setLoggerMessage]


Feedback

Ultimo aggiornamento: Agosto 2011


© Copyright IBM Corp. 2011.
Questo centro informazioni è basato su tecnologia Eclipse. (http://www.eclipse.org)