在我的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,还有使用logback的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。我真的很困惑为什么以及如何发生这种情况
答案 0 :(得分:0)
最近我遇到了类似的问题,在weblogic 12c中部署了spring boot。经过调查发现,spring boot正在使用spring boot logger starter,它有一些依赖jar,即sl4fj,logback,jcl-over-sl4j,jul-to-slf4j,log4j-over-slf4j.jar等。
从slf4j manual发现了这个:
JCL over SLF4J的实现,即jcl-over-slf4j.jar,将会 允许您的项目零碎地迁移到SLF4J,而不会破坏 使用JCL与现有软件兼容。同样的, log4j-over-slf4j.jar和jul-to-slf4j模块将允许您 将log4j和java.util.logging调用重定向到SLF4J。
桥接jar负责将log4j日志,java util日志,commons日志记录日志重定向到slf4j的logback。排除了桥接jar后,依赖关系得到了预期的结果。