• 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>
  • 相关阅读:
    同表自更新
    C#数据层添加事务功能
    Mysql 索引 分区 面试题
    Spring 循环依赖
    Zipkin初探 + 与SpringBoot的集成+ 使用HTTP方式传送数据给zipkin server
    Web调优之IBM JDK+liberty(二),原来都是UUID惹得祸
    Web调优之IBM JDK+liberty(一): Jmeter pod里压,50个线程并发测试,调整 -Xms -Xms, Log原来是大问题
    Linux使用jstat命令查看jvm的GC情况
    VM内存回收System.gc()
    prometheus 文档合集
  • 原文地址:https://www.cnblogs.com/mutong1228/p/10181370.html
Copyright © 2020-2023  润新知