springboot2.0添加logback

程序代码

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class PreFilter extends ZuulFilter {
    private static Logger log = LoggerFactory.getLogger(PostFilter.class);
}

添加配置

<dependency>
   <groupId>net.logstash.logback</groupId>
   <artifactId>logstash-logback-encoder</artifactId>
   <version>4.11</version>
</dependency>

application.properties

#日志
logging.config=classpath:logback.xml

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
    <contextName>logback</contextName>
    <property name="log.path" value="F:\opt\dev\log\claimzuul\" />
    <!--输出到控制台-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">   
          <level>INFO</level>
        </filter>       
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} [%file : %line] - %msg%n</pattern>   
        </encoder> 
    </appender>

<!--    <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>47.96.14.108:8050</destination>
        <encoder class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender>-->
    <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender"> 
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">   
          <level>INFO</level>
        </filter>    
        
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <FileNamePattern>/opt/dev/log/claimzuul/claimzuul.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
           <maxFileSize>100MB</maxFileSize>    
           <maxHistory>30</maxHistory>
           <totalSizeCap>10GB</totalSizeCap>
        </rollingPolicy>
        
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} [%file : %line] - %msg%n</pattern> 
            <charset>UTF-8</charset>              
        </encoder> 
    </appender> 

    <!--myibatis log configure-->
    <logger name="com.insuresmart.claimzuul" level="DEBUG"/>
    <logger name="org.springframework" level="DEBUG"/>
    <logger name="org.apache.ibatis.logging.jdbc.BaseJdbcLogger" level="DEBUG"/>
    <logger name="org.mybatis" level="DEBUG"/>

    <logger name="java.sql.Connection" level="DEBUG"/>
    <logger name="java.sql.Statement" level="DEBUG"/>
    <logger name="java.sql.PreparedStatement" level="DEBUG"/>
    <logger name="java.sql.ResultSet" level="DEBUG"/>
    <root level="WARN">
        <!--<appender-ref ref="logstash" />-->
        <appender-ref ref="FILE" />
        <appender-ref ref="STDOUT" />
    </root> 
</configuration>

 ---------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
    <property name="LOG_HOME" value="/home" />
    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- 按照每天生成日志文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
        <!--日志文件最大的大小-->
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>10MB</MaxFileSize>
        </triggeringPolicy>
    </appender>

    <!-- 日志输出级别 -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>
原文地址:https://www.cnblogs.com/mutong1228/p/10181370.html