簡體   English   中英

使用log4j的應用程序使用另一個應用程序的日志文件並在weblogic服務器上進行logback

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM