2016-06-21 8 views
2

OS: Linux Weblogic: 10.3.6.0 JDK: 1.7.0_55Log4j2 Schreiben Protokolle bereits gerollt Datei

Vor kurzem haben wir von log4j 1.x auf 2.6.1 migriert I Logger sehe geschrieben werden mit der Hauptprotokolldatei zusammengerollte Datei. Auch gerollte Dateigröße weniger gegeben gegeben eingeschränkten Größe, die 50 MB ist. Dies wird hauptsächlich beobachtet, wenn ich Belastung von 400k Datensätze dränge. PFA log4j xml.

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="DEBUG" > 
     <Properties> 
     <Property name="theHostName">${hostName}</Property> 
     </Properties> 
     <!-- bufferedIO=true by default, bufferSize=8192bytes 
     --> 
     <Appenders> 
      <RollingFile name="FILE" filename="${sys:weblogic.Name}.log" filepattern="${sys:weblogic.Name}.log.%i" append="false" > 
       <PatternLayout pattern="[%-5p][%d{yyyy-MM-dd HH:mm:ss,SSS}][${sys:weblogic.Name}:${hostName}][%t][%X{MessageInfo}][%c{1}:%M:%L][%msg]%n" /> 
       <Policies> 
        <SizeBasedTriggeringPolicy size="50 MB" /> 
       </Policies> 
       <DefaultRolloverStrategy min="1" max="100" fileIndex="min"/> 
      </RollingFile> 
     </Appenders> 
     <Loggers> 
      <Logger level="DEBUG" includeLocation="true"> 
       <AppenderRef ref="FILE"/> 
      </Logger> 
      <Root level="INFO" includeLocation="true"> 
       <AppenderRef ref="FILE"/> 
      </Root> 
       <!-- Package specific log level defines --> 
      <logger name="org.springframework"> 
       <level value="WARN" /> 
      </logger> 
      <logger name="org.jboss"> 
       <level value="WARN" /> 
      </logger> 
      <logger name="org.hibernate"> 
       <level value="OFF" /> 
      </logger> 
      <logger name="com.company.project.eligibility"> 
       <level value="WARN" /> 
      </logger> 
     </Loggers> 
</Configuration> 

Bitte schlagen Sie vor.

+0

PFA funktioniert nicht, fügen Sie den Inhalt von log4j.xml ein – piyushj

+0

Ist dies eine einzelne Anwendung oder haben Sie mehrere Anwendungen schreiben in die gleiche Datei? –

Antwort

2

Wenn mehrere Anwendungen in dieselbe Datei schreiben, müssen Sie besonders auf Log4j2 achten (dies ist anders als Log4j 1.x).

Um erfolgreich aus mehreren Anwendungen in derselben Datei zu protokollieren, müssen diese Anwendungen denselben LoggerContext verwenden. Sie können dies erreichen, indem Sie die jar-Dateien log4j2 in die gemeinsame Weblog-Bibliothek einfügen, so dass die Klassen Log4j2 vom selben Klassenlader geladen werden.

Wenn die log4j2-JARs im WAR- oder EAR-Archiv gebündelt sind, werden die log4j2-Klassen vom separaten Klassenladeprogramm der Anwendung geladen, und sie werden mit einem separaten LoggerContext enden. Wenn mehrere Anwendungen über einen separaten LoggerContext verfügen, kennen sie sich nicht gegenseitig, was beim Datei-Rollover zu seltsamen Ergebnissen führen kann.

Verwandte Dokumentation: Logging Separation und Web Applications and JSPs. (Ihre Anwendung ist möglicherweise keine Webanwendung, aber wenn sie in Weblogic ausgeführt wird, gelten die gleichen Prinzipien.)

+1

Danke für Ihre Kommentare, es macht Sinn, wird dies versuchen. – pdshelke

Verwandte Themen