从Tranisitive Dependecies中删除Log4j2.xml,并在springboot项目中改用Log4j2-spring.xml

时间:2018-12-21 00:23:06

标签: spring-boot log4j2

我需要在现有的spring-boot项目的现有log4j2.xml中添加文件Appender。我这样做了,它为指定的每个记录器生成了两个日志文件,即我只添加​​了根级别记录器,然后也生成了两个文件。 当我搜索它时,我发现在Spring项目中应该使用log4j2-spring.xml而不是Log4j2.xml,这可能是生成重复日志文件的原因。

但是当我试图将我的log4j2.xml更改为log4j2-spring.xml时,它甚至没有考虑该文件,而是在选择其他可通过类路径访问的log4j2.xml,因为我已经添加了一些外部jar作为依赖项在此项目中,考虑了这些外部依赖性的log4j2.xml,而不是我的log4j2-spring.xml。有没有办法告诉它使用我的log4j2-spring.xml而不是任何log4j2.xml,或者有办法从任何依赖项中删除对log4j2.xml的使用。

我尝试对一个简单的spring-boot项目执行相同的操作,并且按预期方式工作,但是当我尝试在我的多模块maven项目中执行相同操作时,则无效。

有人可以问我上述要求的方式吗?

这是我的pom。

`

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info" monitorInterval="60">
    <Properties>
        <Property name="log-path">${sys:app.log.path}</Property>
        <Property name="archive">${log-path}/archive</Property>
        <Property name="appName">${sys:spring.application.name}</Property>
        <Property name="envName">${sys:app.env.name}</Property>
    </Properties>
    <Appenders>
        <Console name="Console-Appender" target="SYSTEM_OUT">
            <PatternLayout>
                <pattern>
                    %d{yyyy-MM-dd HH:mm:ss.SSS}{GMT} [%-5level] [%t] %c{1} - %msg%n
                </pattern>
                <charset>US-ASCII</charset>
            </PatternLayout>
        </Console>
        <File name="File" fileName="${log-path}/${appName}-${envName}--${date:yyyy-MM-dd-HH-mm-ss-SSS}.log" append="true">
           <PatternLayout pattern="%d{yyyy-MMM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n" />
       </File>
    </Appenders>
    <Loggers>
        <Root level="INFO" additivity="false">
            <AppenderRef ref="Console-Appender" level="WARN" />
            <AppenderRef ref="File" level="INFO" />
        </Root>
        <Logger name="com.tmo.eus" level="INFO" additivity="false">
            <Appender-ref ref="Console-Appender" />
        </Logger>
    </Loggers>
</Configuration>

`

0 个答案:

没有答案