根据软件包在spring application.yml文件中不起作用定义不同的日志记录级别

时间:2018-12-30 17:06:11

标签: spring-boot logging log4j2

我们在Spring Boot(1.5.x版)应用程序中使用log4j2日志记录。

pom.xml配置:

    <!-- REQUIRED FOR log4j2 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>

log4j2.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Properties>
        <Property name="log-path">logs/</Property>
        <Property name="file-name">test</Property>
    </Properties>
    <Appenders>
        <Console name="console-log" target="SYSTEM_OUT">
            <PatternLayout
                pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" />
        </Console>
        <RollingFile name="trace-log"
            fileName="${log-path}/${file-name}.log"
            filePattern="${log-path}/${file-name}-%d{yyyy-MM-dd}.log">
            <PatternLayout>
                <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
                </pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1"
                    modulate="true" />
            </Policies>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root additivity="false">
            <AppenderRef ref="console-log" />
            <AppenderRef ref="trace-log" />
        </Root>
    </Loggers>
</Configuration>

在application.yml文件中记录属性:

logging:
  level:
    root: INFO
    com.abc.app: TRACE

当我运行该应用程序时,它仅采用root日志记录级别,即INFO 为什么不考虑我的包裹?

实际上,我只希望有一个log4j2.xml文件,并在application.properties或application.yml文件中指定日志记录级别。如何实现呢?

0 个答案:

没有答案