[英]Application with log4j using log file of another application with logback on weblogic server
在我的weblogic服務器中,我有兩個獨立的應用程序。 App1是具有使用log4j的Web服務的舊Web應用程序:
# 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
僅部署此應用程序時,一切正常。
第二個app2是使用引導方式進行Spring Boot以及Web服務應用程序的啟動:
<?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服務器時,兩個應用程序都登錄到app2.log。 我真的很困惑為什么以及如何發生
最近,我在weblogic 12c中部署了spring boot時遇到了類似的問題。 經過調查發現,spring boot正在使用spring boot logger啟動器,該啟動器具有一些依賴項jar,例如sl4fj,logback,jcl-over-sl4j,jul-to-slf4j,log4j-over-slf4j.jar等。
從slf4j手冊中發現:
在SLF4J上實施JCL,即jcl-over-slf4j.jar,將使您的項目能夠零碎地遷移到SLF4J,而不會破壞與使用JCL的現有軟件的兼容性。 同樣,log4j-over-slf4j.jar和jul-to-slf4j模塊將允許您將log4j和java.util.logging調用分別重定向到SLF4J。
橋接jar負責通過slf4j將log4j日志,java util日志,commons日志日志重定向到logback。 排除橋接jar依賴項后,得到了預期的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.