2016-06-21 74 views
2

操作系统:Linux 的Weblogic:10.3.6.0 JDK:1.7.0_55Log4j2日志写入已推出文件

最近,我们从log4j的1.x中迁移到2.6.1 我看到记录器正在写入与主日志文件一起滚动文件。 由于给定的受限大小为50MB,因此文件大小也减少。 这是主要观察到,如果我推动400k记录的加载。 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> 

请建议。

+0

PFA不会工作,粘贴log4j.xml的内容 – piyushj

+0

这是单个应用程序还是您有多个应用程序到同一个文件? –

回答

2

如果您有多个应用程序写入同一个文件,您需要特别注意Log4j2(这与Log4j 1.x不同)。

为了成功从多个应用程序登录到同一文件,这些应用程序需要共享相同的LoggerContext。您可以通过将log4j2 jar文件放入weblogic共享库中来实现此目的,以便Log4j2类由同一个类加载器加载。

如果log4j2 jar被捆绑在WAR或EAR归档中,log4j2类将被单独的应用程序类加载器加载,并且它们将以单独的LoggerContext结束。如果多个应用程序具有单独的LoggerContext,则它们不会意识到彼此可能会给文件翻转带来奇怪的结果。

相关文档:Logging SeparationWeb Applications and JSPs。 (您的应用程序可能不是Web应用程序,但如果它运行在Weblogic中,则适用相同的原则。)

+1

感谢您的意见,这是有道理的,将尝试这一点。 – pdshelke