Springboot中logback日志配置示例

标签:

本文出自jvm123.com-java技术分享站:http://jvm123.com/2019/10/springboot-zhong.html

在springboot项目中,如果需要写日志,需要将日志配置文件放在resource目录下即可生效。Springboot默认使用logback日志框架,所以,无需加入任何依赖,只需要一个日志配置文件logback.xml文件,即可按照配置文件中的配置生成日志。

logback.xml配置文件的示例讲解如下:

<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <property name="LOG_HOME" value="./log"/>
    <property name="LOG_NAME" value="xxx"/>

    <!--输出到控制台-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{50} %L : %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!--输出到文件-->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/${LOG_NAME}.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/history/${LOG_NAME}.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>90</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{50} : %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- ERROR -->
    <appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 文件路径 -->
        <file>${LOG_HOME}/${LOG_NAME}-error.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/error/${LOG_NAME}.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>90</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{50} : %msg%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>


    <!--根节点-->
    <root level="INFO">
        <appender-ref ref="console"/>
        <appender-ref ref="file"/>
        <appender-ref ref="errorAppender"/>
    </root>

</configuration>

property标签问定义的属性变量,可以在这个文件中使用${}引用。

root节点下配置需要生效的appender即可,在这个节点下引用的appender会生效,没引用的appender不会生效。

appender节点可以有多个,配置多个appender,供root节点引用。对于不同的日志 appender ,其节点配置不同,一般有以下节点:

  1. file 表示生成日志文件的位置
  2. rollingPolicy 日志存储策略
  3. encoder 日志的显示格式
  4. filter 日志过滤器

发表评论