IBM Enterprise Records, Version 5.1.+            

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:

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 nummertecken (#) utförs inte under körningen.

När du ska öppna filen log4j.properties navigerar du till mappen ier_installationssökväg\RecordsManagerSweep och öppnar sedan mappen 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.rmor 

Du kan skriva vilket namn du vill 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 tabellen nedan.

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 Allvarliga felhändelser som troligen leder till att programmet avbryts.

Se log4j-dokumentationen på Apache-webbplatsen om du vill ha mer information om specialloggning och anpassade loggnivåer. Standardinställningen är att programmet startar med WARN-nivån. Den kan ändras till nivåerna 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 och växla mellan nivåerna DEBUG och WARN. 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. Som standard tilldelas WARN-nivån till RM 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. Loggskrivare 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: Appender loggar inte några meddelanden med prioritet lägre än den som anges här även om loggfunktionens prioritet är lägre. Detta är praktiskt 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. Den rekommenderade inställningen är true.
FileAppender

Skriver loggmeddelanden till en fil.

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

Alternativ:

  • Threshold=WARN: Appender loggar inte några meddelanden med prioritet lägre än den som anges här även om loggfunktionens prioritet är lägre. Detta är praktiskt 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. Den rekommenderade inställningen är true.
  • 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: Appender loggar inte några meddelanden med prioritet lägre än den som anges här även om loggfunktionens prioritet är lägre. Detta är praktiskt 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. Den rekommenderade inställningen är true.
  • 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=100KB: 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 och den inställningen rekommenderas för utvecklingsmiljöer, med sporadiska kö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=128KB och MaxBackupIndex=1, när filen överskrider 128 KB, flyttas innehållet automatiskt till cjapi_log.txt.1 och skrivningen fortsätter till en tom cjapi_log.txt.
  • MaxBackupIndex=2: Högst 2 (t.ex.) säkerhetskopiefiler. Raderar de äldsta fil(er). 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 osv. 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 " [", följt av en trådkonverteringsspecifikation, följt av konstanttexten "]: " följt av en meddelandekonverteringsspecifikation 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änsterjusterar loggnamnet inom minst 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 yyyy 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: Augusti 2011


© Copyright IBM Corp 2011.
Detta Informationscenter bygger på Eclipse-teknik. (http://www.eclipse.org)