IBM Enterprise Records, version 5.1.2    

Konfigurera filen log4j.properties

I IBM® Enterprise Records ingår ett exempel på en log4j.properties-fil som du kan konfigurera.

Filen log4j.properties finns i mappen ier_installationssökväg\ RecordsManagerSweep och du kan konfigurera loggningsbeteendet genom att ange värden i filen för följande egenskaper:

Varje loggfunktion i filen log4j.properties har tilldelats en nivå. Om du inte tilldelar en nivå själv tilldelar log4j automatiskt den överordnade funktions nivå. Standardinställningen är WARN-nivån.

Du kan konfigurera filen log4j.properties med olika inställningar för loggfunktionen, loggskrivare och layout. Filen log4j.properties måste vara tillgänglig för programmet i klassökvägen under körningen. Du kan kommentera ut poster i exempelfilen genom att skriva ett nummertecken (#) framför satsen. Poster som är markerade med nummersymbol (#) utförs inte under körningen.

När du ska öppna filen log4j.properties går du till mappen ier_installationssökväg\RecordsManagerSweep och öppnar sedan filen i en textredigerare.

Ställa in loggfunktioner och loggnivån

Du ställer först in loggfunktionen. Du kan ha flera loggfunktioner för att ange den typ av loggning som krävs för programmet. Om du vill aktivera loggningen för alla klasser i com.filenet.rm och dess underpaket anger du en loggfunktion som i följande sats:

log4j.logger.com.filenet.rm 

Eller ange valfritt namn för loggfunktionen. Du kan till exempel ge den namnet APILOG som i följande sats:

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

Du behöver ställa in en loggnivå för att bestämma hur detaljerade meddelanden som log4j ska logga under körningen. log4j hanterar fem normala nivåer av loggning, så som visas i följande tabell.

Tabell 1. Meddelandenivå som log4j registrerar under körningen
Nivå Beskrivning
DEBUG Finfördelande informationshändelser som är till nytta vid felsökning av ett program.
INFO Informationsmeddelanden på övergripande nivå om programmets status.
WARN Meddelanden om potentiellt skadliga situationer.
ERROR Felhändelser, men programmet kanske ändå kan fortsätta körningen.
FATAL Anger allvarliga felhändelser som kan göra att programkörningen stoppar.

Se dokumentationen om log4j på Apache-webbplatsen om du vill ha information om särskilda och anpassade loggningsnivåer. Standardinställningen är att programmet startar med WARN-nivån. Nivån kan ändras till DEBUG, INFO, ERROR, WARN eller FATAL under körningen. Du kan också ta med flera loggfunktionssatser, som alla är för samma loggfunktion men har olika loggnivåer (t.ex. DEBUG för en, WARN för en annan). Du kan kommentera ut poster i exempelfilen genom att skriva ett nummertecken (#) framför satsen. Växla sedan mellan nivåerna DEBUG och WARN efter behov. Poster som är markerade med nummersymbol (#) utförs inte under körningen. En loggfunktion som inte har någon nivå ärver en nivå från den överordnade loggfunktionen. Standardinställningen är WARN-nivån som tilldelas till API-loggfunktionen i IBM Enterprise Records.

Ställa in loggskrivare

En loggfunktion är knuten till en eller flera loggskrivare så att loggmeddelandena kan skrivas till utdatamedier. Du kan ange flera olika typer av loggskrivare i filen log4j.properties som skickar logginformationen till olika utdataplatser. I följande tabell finns en lista över alla loggskrivare som används i filen log4j.properties tillsammans med en kort beskrivning och relaterade alternativ.

Tabell 2. Loggskrivare, beskrivningar och kodfragment
Loggskrivare Beskrivning och kodfragment
NTEventLogAppender

Skriver till Microsoft Windows NT-händelseloggen. Loggskrivaren kan endast installeras och användas i ett Windows-system.

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

Skriver loggmeddelanden till System.out (standard) eller System.err med den layout som anges av användaren.

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

Alternativ:

  • Threshold=WARN: Loggskrivaren loggar inga meddelanden med lägre prioritet än den som anges här även om loggfunktionens prioritet är lägre. Inställningen är praktisk om du vill minska antalet meddelanden, t.ex. om loggen visar alla meddelanden i konsolen.
  • ImmediateFlush=true: Standardinställningen är true, vilket menar att loggmeddelanden inte buffras alls. Om ImmdiateFlush är satt till false, kommer kanske inte de sista logghändelserna att skrivas till samma medier om det blir fel på programmet.
FileAppender

Skriver loggmeddelanden till en fil.

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

Alternativ:

  • Threshold=WARN: Loggskrivaren loggar inga meddelanden med lägre prioritet än den som anges här även om prioriteten har angetts som lägre. Inställningen är praktisk om du vill minska antalet meddelanden, t.ex. om loggen visar alla meddelanden i konsolen.
  • ImmediateFlush=true: Standardvärdet är true, vilket innebär att loggmeddelanden inte buffras alls. Om ImmdiateFlush är satt till false, kommer kanske inte de sista logghändelserna att skrivas till samma medier om det blir fel på programmet.
  • File=mylog.txt: Filnamn att logga till. Du kan använda ${some_property_key} (t.ex. java.home eller user.home system properties) för att ange sökvägen.
  • Append=false: Standardvärdet är true, vilket innebär att meddelanden skrivs till slutet av filen. False ersätter filen vid starten av varje programkörning.
RollingFileAppender

Utökar FileAppender så att loggfilerna säkerhetskopieras när de nått en viss storlek.

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

Alternativ:

  • Threshold=INFO: Loggskrivaren loggar inga meddelanden med lägre prioritet än den som anges här även om loggfunktionens priotitet är lägre. Inställningen är praktisk om du vill minska antalet meddelanden, t.ex. om loggen visar alla meddelanden i konsolen.
  • ImmediateFlush=true: Standardvärdet är true, vilket innebär att loggmeddelanden inte buffras alls. Om ImmdiateFlush är satt till false, kommer kanske inte de sista logghändelserna att skrivas till samma medier om det blir fel på programmet.
  • File=mylog.txt: Filnamn att logga till. Du kan använda ${some_property_key} (t.ex. java.home eller user.home system properties) för att ange sökvägen.
  • Append=false: Standardvärdet är true, vilket innebär att meddelanden skrivs till slutet av filen. false ersätter filen vid starten av varje programkörning.
  • MaxFileSize=100 KB: Suffix kan vara KB, MB eller GB. Rullar loggfilen när denna storlek uppnåtts. Append har ett booleskt värde som bestämmer om utdatafilerna ska skrivas över (false) eller utökas (true). Med värdet false (standard) växer inte filerna obegränsat. Använd den här inställningen i en utvecklingsmiljö om du då och då gör engångskörningar. Inställningen true innebär att utdata läggs till till en befintlig loggfil vid varje JVM-körning. Du kan begränsa utdatafilens storlek genom att ange nyckelordet MaxFileSize. Exempel: om du konfigurerar en utdatafil, cjapi_log.txt, med MaxFileSize=128 KB och MaxBackupIndex=1, flyttas filens innehåll automatiskt till cjapi_log.txt.1 när storleken överstiger 128 KB. Ytterligare skrivning sker i en tom cjapi_log.txt-fil.
  • MaxBackupIndex=2: Högst 2 (t.ex.) säkerhetskopiefiler. Raderar de äldsta filerna. 0 innebär att inga säkerhetskopiefiler behålls.

Ange layouter

Du kan ställa in olika layouter i filen log4j.properties som anger formatet för loggmeddelandena. Du kan ange att loggmeddelanden ska innehålla datum, tid, modulnamn, trådnamn och annan information. Dessa konfigurationsinställningar används för loggning av meddelanden under körningen.

I följande tabell finns en lista över alla layouts som används i IBM Enterprise Records-filen log4j.properties tillsammans med korta beskrivningar och alternativ.

Tabell 3. Layouter och beskrivningar
Layout Beskrivning och kodfragment
SimpleLayout

Skriver ut nivån, ett bindestreck (-) följt av loggmeddelandetexten.

org.apache.log4j.SimpleLayout
PatternLayout

Formaterar logghändelser enligt angivet konverteringsmönster. Konverteringsmönster består av konstanttext och konverteringsspecifikationer. Konstant text skrivs som den är. Konverteringsspecifikationer består av tecknet % följt av en valfri formatmodifierare och ett obligatoriskt konverteringstecken. Exempel: %-5p [%t]: %m%n är ett konverteringsmönster som består av en prioritering (nivå), konverteringsspecifikation följt av konstanttexten " [". Strängen följs av en trådkonverteringspecificerare, följt av konstanttexten "]: ". Strängen följs av en meddelandekonverteringsspecificerare och en systemberoende radavgränsare.

org.apache.log4j.PatternLayout

Alternativ:

  • ConversionPattern=%-5p, [%t]:%m%n: Hur loggmeddelanden ska formateras (vilken information som ska ingå).
HTMLLayout

Formaterar utdata till en HTML-tabell.

org.apache.log4j.HTMLLayout

Alternativ:

  • LocationInfo=true: Skriver Java-filnamnet och radnumret. Standardinställningen är false.
  • Title=My app title: Ställer in HTML-märkordet <title>. Standardinställningen är Log4J Log Messages.
 

Formaterar utdata som XML.

org.apache.log4j.xml.XMLLayout

Alternativ:

  • LocationInfo=true: Skriver Java-filnamnet och radnumret. Standardinställningen är false.

I filen log4j.properties som följer med IBM Enterprise Records används PatternLayout som format för loggmeddelanden. I följande tabell finns en lista över konverteringsmönster som används i filen configuration.properties tillsammans med en kort beskrivning:

Tabell 4. Konverteringsmönster och beskrivningar
Mönster Beskrivning
%t Namnet på tråden som gör loggbegäran
%c Namnet på loggfunktionen för loggbegäran
%-60c Vänsterjustera loggnamnet inom 60 blanktecken
%r Antal millisekunder sedan starten av programmet
%p Nivå för loggmeddelandet
%m Meddelande
%Time Tid för loggningen
%d Datum för logghändelsen
%n Ny rad

Följande kod visar hur man aktiverar PatternLayout och anger ett enkelt konverteringsmönster:

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

Exempel:

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

Senast uppdaterat: November 2013
configure_rm_logging.htm

© Copyright IBM Corp 2013