猿问

Log4j:加载第三方 jar 后记录器停止工作

调用第三方 jar 的方法后,Logger 突然停止工作。我检查了 jar 的代码,他们也在使用 log4j 和 log4j.xml。我正在使用属性文件配置 log4j。


我的 log4j 配置


log4j.rootLogger=DEBUG, stdout, R

#log4j.rootLogger=ERROR, stdout, R

log4j.appender.R.File=/logs/app_test.log

log4j.appender.R.MaxFileSize=10MB

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.MaxBackupIndex=175

log4j.appender.R.layout.ConversionPattern=%d %p %t %c - %m%n

log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.R=org.apache.log4j.RollingFileAppender

第三方日志配置(log4j.xml)


<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">


<!--Pattern used: Date Thread_Name Full_Class_Name.Method_Name Level:Line 

    no -->

<!-- %-23d{ISO8601} [THREAD:%t] [%-2c.%M():%L] [%p] - %m%n -->



<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">



    <appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">

        <layout class="org.apache.log4j.PatternLayout">

            <param name="ConversionPattern"

                value="%-23d{ISO8601} [%-5p] [%-22t] [%-30C{1}:%4L] - %m%n" />

        </layout>

    </appender>


    <appender name="errorAppender" class="org.apache.log4j.RollingFileAppender">

        <param name="File"

            value="${catalina.base}/logs/metascan/metsascanWrapperError.log" />

            <param name="maxFileSize" value="10MB" />

                    <param name="Threshold" value="ERROR" />

        <param name="maxBackupIndex" value="2" />

        <layout class="org.apache.log4j.PatternLayout">

            <param name="ConversionPattern" value="%d{yyyy MM dd HH:mm:ss:SSS} [%-40t] %5p - %m %n" />

        </layout>

    </appender>



我已经阅读了 log4j 网站上的配置,偏好将始终转到 log4j.xml 而不是属性文件。所以,我不想在第三方 jar 中更改。我假设他们正在覆盖我的 log4j 配置,但我不知道确切的问题,因为即使 system.out.println 也不起作用。


那么我们如何解决这个问题,有什么办法可以忽略第三方日志配置?


任何建议都会有所帮助,谢谢。


饮歌长啸
浏览 180回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答