这个Spring Boot启动程序log4j2配置是否正确?

时间:2017-01-29 05:12:35

标签: java maven spring-boot log4j2

我的目标

我的目标是使用log4j2 API进行应用程序日志记录,同时能够在与主应用程序日志记录文件分开的文件中捕获Spring Boot日志消息。出于测试目的,我将包含application和spring消息的两个文件记录到目录src/test/resources/log

问题

它似乎工作正常,但我只是想进行社区双重检查,以防我错过任何WRT我的pom.xml依赖配置和日志配置(我在其他SO帖子中看到了很多不同的变化)?

Maven POM配置

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.4.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <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>

的src /测试/资源/ log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Properties>
    <Property name="log-path">src/test/resources/log</Property>
</Properties>
<Appenders>
    <Console name="Console-Appender" target="SYSTEM_OUT">
        <PatternLayout>
            <pattern>
                [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
            </pattern>>
        </PatternLayout>
    </Console>
    <File name="App-File-Appender" fileName="${log-path}/application.log" >
        <PatternLayout>
            <pattern>
                [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
            </pattern>
        </PatternLayout>
    </File>
    <File name="Spring-File-Appender" fileName="${log-path}/spring.log" >
        <PatternLayout>
            <pattern>
                [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
            </pattern>
        </PatternLayout>
    </File>
</Appenders>
<Loggers>
    <Logger name="org.springframework" level="info" additivity="false">
        <AppenderRef ref="Spring-File-Appender"/>
        <AppenderRef ref="Console-Appender"/>
    </Logger>
    <Logger name="com.example" level="info" additivity="false">
        <AppenderRef ref="App-File-Appender"/>
        <AppenderRef ref="Console-Appender"/>
     </Logger>
    <Root level="info">
        <AppenderRef ref="Console-Appender"/>
    </Root>
</Loggers>
</Configuration>

1 个答案:

答案 0 :(得分:1)

一切看起来都不错。如果有的话,我会在根记录器上放置一个显式的日志级别,以便操作人员知道会发生什么。