2017-07-19 34 views
2

在我的weblogic服務器中,我有兩個獨立的應用程序。 APP1是舊的Web應用程序使用log4j的Web服務:使用log4j使用其他應用程序的log文件在weblogic服務器上使用logback的應用程序

# Console logger 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r %-5p %c %x - %m%n 
log4j.appender.CONSOLE.Threshold=ERROR 
# APP logger 
log4j.appender.APP=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.APP.DatePattern=.yyyy-MM-dd-HH 
log4j.appender.APP.File=${logfile.app} 
log4j.appender.APP.encoding=UTF-8 
log4j.appender.APP.layout=org.apache.log4j.PatternLayout 
log4j.appender.APP.layout.ConversionPattern=%d{DATE} %-5p [%t] %-15c : %m%n 

log4j.rootLogger=ERROR, CONSOLE 

log4j.logger.cz.isvs=INFO, APP 
log4j.logger.org.springframework=WARN, APP 

${logfile.app} is replaced during build to target/log/app1.log 

當只有這個應用程序部署的一切工作正常。

二APP 2是春天的引導也與Web服務應用程序中使用的logback:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <springProfile name="default"> 
     <property name="LOGS_HOME" value="/app/app_logs/app2" /> 

     <appender name="appfile" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
      <file>${LOGS_HOME}.log</file> 
      <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
       <Pattern> 
        %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 
       </Pattern> 
      </encoder> 

      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
       <fileNamePattern>${LOGS_HOME}.log.%d{yyyy-MM-dd-HH}</fileNamePattern> 
      </rollingPolicy> 
     </appender> 

     <root level="error"> 
      <appender-ref ref="appfile" /> 
     </root> 

     <logger name="cz.isvs" additivity="false"> 
      <level value="debug" /> 
      <appender-ref ref="appfile" /> 
     </logger> 


    </springProfile> 

</configuration> 

當我部署的第二個應用程序,以我的WebLogic Server則這兩個應用程序登錄到app2.log。我真的很困惑爲什麼以及如何發生這種情況

回答

0

最近我遇到了類似的問題,在weblogic 12c中部署了spring引導程序。經過調查發現,春天開機使用具有一定相關性JAR即sl4fj,的logback,JCL-過sl4j 7月到SLF4J,log4j的環比slf4j.jar等

slf4j manual發現春天的引導記錄啓動這樣的:

JCL超過SLF4J實施,即JCL-過slf4j.jar,將 讓你的項目遷移到零碎SLF4J,而不會破壞使用JCL現有軟件的兼容性 。同樣, log4j-over-slf4j.jar和jul-to-slf4j模塊將允許您將 重定向到log4j,並分別將java.util.logging調用到SLF4J。

橋接罐負責將log4j日誌,java util日誌,公共日誌記錄日誌重定向到slf4j的logback。排除橋接jar依賴項後得到預期結果。

相關問題