美文网首页我爱编程
三、springBoot 整合日志之log4j2

三、springBoot 整合日志之log4j2

作者: 茶铺里的水 | 来源:发表于2018-05-21 15:12 被阅读304次

    1. 为什么不是log4j?

    springBoot 只有1.3.x和1.3.x以下版本才支持log4j的日志配置,1.3.x以上版本只支持log4j2,logback的日志配置

    3. 新建module springboot-log4j2,将base项目中的配置复制来一份

    log4j

    2. 引入依赖

    pom.xml加入log4j2依赖,并同时把spring boot默认的logging去掉

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

    3. 增加配置文件

    • resource目录下增加application.yml,添加如下配置
    server:
      port: 8081
    
    • resource目录下增加文件log4j2.xml
      参考官网配置log4j2,可以看到log4j2支持xmljsonyml,我们这里拿xml举例。具体配置如下:
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <properties>
            <!-- 文件输出格式 -->
            <property name="PATTERN">%d{yyyy-MM-dd HH:mm:ss.SSS} |-%-5level [%thread] %c [%L] -| %msg%n</property>
            <Property name="instance">spring-boot-log4j2-log</Property>
            <Property name="log.dir">D:\logs\log4j2</Property>
        </properties>
    
        <appenders>
            <Console name="CONSOLE" target="system_out">
                <PatternLayout pattern="${PATTERN}"/>
            </Console>
    
            <File name="File" fileName="${log.dir}/${instance}.log">
                <PatternLayout pattern="${PATTERN}"/>
            </File>
        </appenders>
    
        <loggers>
            <!-- root logger 配置 -->
            <root level="info">
                <appenderref ref="CONSOLE"/>
                <appenderref ref="File"/>
            </root>
        </loggers>
    
    </configuration>
    

    阅读如上配置,我们发现,我们配置了console和file,把日志信息会以指定的格式输出到控制台和指定目录的一个文件中。如果我们要配置更为复杂的日志文件输出,如按日期、按大小拆分文件,可以参考log4j2官网链接https://logging.apache.org/log4j/2.x/manual/configuration.html

    4. 验证

    启动项目,控制台输出及文件日志如下截图


    控制台日志
    文件日志

    相关文章

      网友评论

        本文标题:三、springBoot 整合日志之log4j2

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