美文网首页
Spring boot 配置Log4j2

Spring boot 配置Log4j2

作者: 蓉漂里的小白 | 来源:发表于2020-05-05 12:29 被阅读0次

    spring boot内部使用Commons Logging来记录日志,但也保留外部接口可以让一些日志框架来进行实现,例如Log4J2, Logback。spring boot使用Logback作为日志实现的框架。
    今天整理这个文章的原因就是网上有很多Log4J2的配置博客,但是有一大半都是转载的,而且配置也是不完全的。下面是实际操作的具体步骤。

    1:在pom中引入Log4j2的依赖,同时exclusion 掉spring boot自带的logging back

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

    2:在配置文件application.properties添加log4j2的配置

    logging.config=classpath:log4j2.xml
    

    3:在 src/main/resources 创建log4j2.xml 并写入如下配置

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="INFO">
    <!—设置一个控制台log输出器-->
        <Appenders> 
            <Console name="Console" target="SYSTEM_OUT" follow="true">
                <PatternLayout>
                    <pattern>[%-5p] %d %c - %m%n</pattern>
                </PatternLayout>
            </Console>
    <!—设置一个文件log输出器-->
            <File name="File" fileName="../../logs/gather-plugin/sisc-gather-plugin.log" append="false"> 
                <PatternLayout>
                    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} - %msg%xEx%n</pattern>
                </PatternLayout>
            </File>
        </Appenders>
        <Loggers>
             <Root level="INFO">
                 <AppenderRef ref="Console"/> 
                <!--所有的log都输出到console-->
             </Root>
    <!—只捕获com.cxy.xxx.service下的的log都输出到log文件中-->
            <Logger name="com.cxy.xxx.service" level="INFO" additivity="false">
                <AppenderRef ref="File" /> 
         <!--只有com.cxy.xxx.service包下的 log 才会输出到文件-->
            </Logger>
        </Loggers>
    </Configuration>
    

    Additivity=false; 表示每次重启项目,将log文件情况,改为true表示重启后追加log
    上面就是spring boot 整合 log4j2的完整配置步骤。

    相关文章

      网友评论

          本文标题:Spring boot 配置Log4j2

          本文链接:https://www.haomeiwen.com/subject/uwflqhtx.html