IBM Enterprise Records, Verze 5.1.+            

Konfigurace souboru log4j.properties

Aplikace IBM® Enterprise Records zahrnuje ukázkový souborlog4j.properties, který můžete nakonfigurovat.

Soubor log4j.properties se nachází ve složce ier_install_path\ RecordsManagerSweep. Způsob chování protokolování lze konfigurovat zadáním hodnot následujících položek v souboru:

Každému registrátoru v souboru log4j.properties je přiřazena úroveň. Pokud registrátoru není přiřazena úroveň, pak soubor log4j nepřiřazenému registrátoru automaticky přiřadí úroveň nadřízeného registrátoru. Při výchozím nastavení je registrátoru přiřazena úroveň WARN.

Soubor log4j.properties můžete nakonfigurovat s odlišnými nastaveními registrátoru, protokolového souboru a rozvržení. Soubor log4j.properties musí být k dispozici pro aplikaci za běhu z cesty třídy. Položky v ukázkovém souboru můžete označit k vyřazení přidáním symbolu # jako předpony příkazu; položky označené symbolem # nebudou za běhu prováděny.

Chcete-li soubor log4j.properties otevřít, přejděte do složky ier_install_path\RecordsManagerSweep a otevřete soubor v textovém editoru.

Nastavení registrátoru a úrovně protokolování

Nejprve je třeba nastavit registrátor. Lze určit více registrátorů, aby bylo možné klasifikovat typ protokolování požadovaný u dané aplikace. Chcete-li zapnout protokolování pro všechny třídy produktu com.filenet.rm i pro podřízené balíky, zadejte registrátor tak, jak je uvedeno v následujícím příkazu:

log4j.logger.com.filenet.rmor 

Pro registrátor můžete zadat jakýkoli název. Můžete jej pojmenovat například APILOG, jak je uvedeno v následujícím příkazu:

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

Je třeba nastavit úroveň protokolování, která určuje úroveň podrobností zpráv zaznamenávaných souborem log4j za běhu. Soubor log4j podporuje 5 normálních úrovní protokolování, jak je uvedeno v tabulce níže.

Tabulka 1. Úroveň zpráv zaznamenávaných souborem log4j za běhu
Úroveň Popis
DEBUG Označuje velmi podrobné informační události, které jsou nanejvýš užitečné pro ladění aplikace.
INFO Označuje informativní zprávy, které na méně podrobné úrovni zaznamenávají důležité kroky v průběhu aplikace.
WARN Označuje potenciálně škodlivé situace.
ERROR Označuje chybové události, které nemusejí nutně způsobit ukončení běhu aplikace.
FATAL Označuje velmi závažné chybové události, u kterých se předpokládá, že povedou k předčasnému ukončení aplikace.

Další informace o speciálních a vlastních úrovní protokolování naleznete v dokumentaci souboru log4j na webovém serveru Apache. Při výchozím nastavení se aplikace spustí na úrovni WARN. Toto nastavení lze za běhu upravit na úroveň DEBUG, INFO, ERROR, WARN nebo FATAL. Můžete rovněž zahrnout několik příkazů registrátoru, všechny pro stejný registrátor, avšak s jinými úrovněmi (například DEBUG pro jeden, WARN pro druhý). Jeden nebo druhý pak v ukázkovém souboru můžete označovat k vyřazení, a to přidáním symbolu # jako předpony příkazu, a přepínat tak podle potřeby mezi úrovněmi DEBUG a WARN. Položky označené symbolem # nebudou za běhu prováděny. Registrátor, kterému není přiřazena úroveň, automaticky dědí úroveň ze svého nadřízeného registrátoru. Při výchozím nastavení je registrátoru RM API v produktu IBM Enterprise Records přiřazena úroveň WARN.

Nastavení protokolových souborů

Registrátor je přidružen k jednomu nebo více protokolovým souborům, které umožňují zapisování jeho zpráv protokolu na výstupní médium. V souboru log4j.properties, který odesílá informace protokolu do určeného výstupního umístění, můžete nastavit různé druhy protokolových souborů. Následující tabulka představuje seznam všech protokolových souborů, které se používají v souboru log4j.properties, doplněný o stručný popis a související volby.

Tabulka 2. Protokolové soubory, popisy a fragmenty kódu
Protokolový soubor Popis a fragmenty kódu
NTEventLogAppender

Zapisuje do protokolu událostí systému Microsoft Windows NT. Tento protokolový soubor lze nainstalovat a používat pouze v systému Windows.

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

Zapisuje zprávy protokolu do proudu System.out (výchozí) nebo System.err na základě rozvržení určeného uživatelem.

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

Volby:

  • Threshold=WARN: Tento protokolový soubor nebude protokolovat žádné zprávy s prioritou nižší než zde zadanou, a to ani v případě, že je priorita registrátoru nastavena níže. To je užitečné pro snížení počtu zpráv, například v souborovém protokolu při zobrazení všech zpráv v konzole.
  • ImmediateFlush=true: Výchozí nastavení je true (pravda), což znamená, že zprávy protokolu nejsou vůbec ukládány do vyrovnávací paměti. Je-li volba ImmdiateFlush nastavena na hodnotu false (nepravda), nemusí se několik posledních zpráv protokolu zapsat na konstantní médium v případě, že dojde k problému s aplikací. Doporučené nastavení je true (pravda).
FileAppender

Zapisuje zprávy protokolu do souboru.

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

Volby:

  • Threshold=WARN: Tento protokolový soubor nebude protokolovat žádné zprávy s prioritou nižší než zde zadanou, a to ani v případě, že je priorita registrátoru nastavena níže. To je užitečné pro snížení počtu zpráv, například v souborovém protokolu při zobrazení všech zpráv v konzole.
  • ImmediateFlush=true: Při výchozím nastavení je nastavena hodnota true (pravda), což znamená, že zprávy protokolu nejsou vůbec ukládány do vyrovnávací paměti. Je-li volba ImmdiateFlush nastavena na hodnotu false (nepravda), nemusí se několik posledních zpráv protokolu zapsat na konstantní médium v případě, že dojde k problému s aplikací. Doporučené nastavení je true (pravda).
  • File=mylog.txt: Název souboru, do kterého se má protokolovat. Můžete zadat cestu pomocí položky ${určitý_klíč_vlastnosti} (například systémové vlastnosti java.home nebo user.home).
  • Append=false: Při výchozím nastavení je nastavena hodnota true (pravda), což znamená připojení ke konci souboru. Hodnota false (nepravda) přepíše soubor na začátku každého spuštění programu.
RollingFileAppender

Rozšiřuje protokolový soubor FileAppender tím, že soubory protokolu po dosažení určité velikosti zálohuje.

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

Volby:

  • Threshold=INFO: Tento protokolový soubor nebude protokolovat žádné zprávy s prioritou nižší než zde zadanou, a to ani v případě, že je priorita registrátoru nastavena níže. To je užitečné pro snížení počtu zpráv, například v souborovém protokolu při zobrazení všech zpráv v konzole.
  • ImmediateFlush=true: Při výchozím nastavení je nastavena hodnota true (pravda), což znamená, že zprávy protokolu nejsou vůbec ukládány do vyrovnávací paměti. Je-li volba ImmdiateFlush nastavena na hodnotu false (nepravda), nemusí se několik posledních zpráv protokolu zapsat na konstantní médium v případě, že dojde k problému s aplikací. Doporučené nastavení je true (pravda).
  • File=mylog.txt: Název souboru, do kterého se má protokolovat. Můžete vpředu zadat cestu pomocí položky ${určitý_klíč_vlastnosti} (například systémové vlastnosti java.home nebo user.home).
  • Append=false: Při výchozím nastavení je nastavena hodnota true (pravda), což znamená připojení ke konci souboru. Hodnota false (nepravda) přepíše soubor na začátku každého spuštění programu.
  • MaxFileSize=100KB: Lze použít přípony KB, MB nebo GB. Převede soubor protokolu po dosažení této velikosti. Volba Append přijímá logickou hodnotu, která určuje, zda výstupní soubory budou přepsány (nepravda), nebo připojeny (pravda). Nastavení hodnoty nepravda (výchozí) brání v neomezeném růstu souborů a doporučuje se pro vývojová prostředí, ve kterém budete příležitostně provádět jednorázová spuštění. Nastavením hodnoty pravda připojíte výstup k existujícímu souboru protokolu při každém spuštění JVM. Nastavením klíčového slova MaxFileSize můžete omezit velikost výstupního souboru. Pokud například nakonfigurujete výstupní soubor cjapi_log.txt s volbami MaxFileSize=128KB a MaxBackupIndex=1, pak při překročení velikosti 128 kB bude obsah souboru automaticky přesunut do souboru cjapi_log.txt.1 a bude pokračovat zápis do prázdného souboru cjapi_log.txt.
  • MaxBackupIndex=2: Udržuje maximálně 2 záložní soubory (například). Nejstarší soubory budou smazány. 0 znamená, že nebudou uchovány žádné záložní soubory.

Nastavení rozvržení

V souboru log4j.properties lze nastavit různá rozvržení, která určují formát zprávy protokolu. Můžete určit, že zprávy protokolu mají zahrnovat datum, čas, název modulu, název podprocesu atd. Tato nastavení konfigurace se používají za běhu při protokolování zprávy.

Následující tabulka poskytuje seznam všech rozvržení používaných v souboru log4j.properties produktu IBM Enterprise Records, společně s krátkými popisy a volbami.

Tabulka 3. Rozvržení a popisy
Rozvržení Popis a fragment kódu
SimpleLayout

Vytiskne úroveň a poté pomlčku (-) následovanou textem zprávy protokolu.

org.apache.log4j.SimpleLayout
PatternLayout

Formátuje události protokolování podle určeného vzorku převodu. Vzorky převodu se skládají z literálového textu a specifikátorů převodu. Literálový text je ve výstupu uveden v aktuální podobě. Specifikátory převodu se skládají ze znaku % následovaného volitelným modifikátorem formátu a povinným znakem převodu. Například %-5p [%t]: %m%n je vzorek převodu sestávající ze specifikátoru převodu priority (také označované jako úroveň), který je následován literálovým textem " [", specifikátorem převodu podprocesu, literálovým textem "]: ", specifikátorem převodu zprávy a oddělovačem řádků závislým na systému.

org.apache.log4j.PatternLayout

Volby:

  • ConversionPattern=%-5p, [%t]:%m%n: Způsob formátování jednotlivých zpráv protokolu (jaké informace mají být zahrnuty).
HTMLLayout

Formátuje výstup jako tabulku HTML.

org.apache.log4j.HTMLLayout

Volby:

  • LocationInfo=true: Vloží do výstupu název souboru Javaâ a číslo řádku. Výchozí nastavení je false (nepravda).
  • Title=Název mé aplikace: Nastaví značku <title> v kódu HTML. Výchozí nastavení je Log4J Log Messages.
 

Formátuje výstup jako tabulku XML.

org.apache.log4j.xml.XMLLayout

Volby:

  • LocationInfo=true: Vloží do výstupu název souboru Java a číslo řádku. Výchozí nastavení je false (nepravda).

Soubor log4j.properties, který je dodaný s produktem IBM Enterprise Records, používá pro formát zprávy protokolu rozvržení PatternLayout. Následující tabulka poskytuje seznam vzorků převodu, které lze deklarovat v konfiguračním souboru, společně s jejich krátkými popisy:

Tabulka 4. Vzorky převodu a popisy
Vzorek Popis
%t Název podprocesu vytvářejícího požadavek na protokolování
%c Název registrátoru přidruženého k požadavku na protokolování
%-60c Zarovnání názvu registrátoru doleva, minimálně do 60 mezer
%r Počet milisekund uplynulých od spuštění aplikace
%p Úroveň příkazu protokolu
%m Zpráva
%Time Čas, kdy došlo k protokolování
%d Datum události protokolování
%n Nový řádek

Následující kódový příkaz ukazuje, jak povolit rozvržení PatternLayout a zadat jednoduchý vzorek převodu:

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

Například:

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


Zpětná vazba

Poslední aktualizace: Srpen 2011


© Copyright IBM Corp. 2011.
Toto Informační centrum využívá technologii Eclipse. (http://www.eclipse.org)