国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

logback 配置文件編寫

546669204 / 2057人閱讀

摘要:配置本文講的文件的配置,其中主要是在介紹各類。注意,使用必須聲明節點子節點指定命名模式注意,必須包含,為窗口索引。并且為多帶帶拿出來。

Logback 配置
本文講logback的xml文件的配置,其中主要是在介紹各類appender。
logback 的簡單例子

xml文件大概結構 導圖鏈接

xml




    拽拽壞人幫

    
    
        
            %cn %d{hh:MM:ss} [%20logger{0}] - %message%n
        
    

    
        
    

    



代碼使用

public class MyLogback {

    private final static Logger logger 
        = LoggerFactory.getLogger("com.cck.MyLogback");

    public static void main(String[] args) {

        logger.info("hello world");
    }
}
xml配置中的appender
appender 節點是配置日志的目的地,該節點必須指定name和class屬性,不同的class會有不同的子節點。

分別有以下幾種類型的appender

ConsoleAppender   控制臺

FileAppender     文件

RollingFileAppender  滾動記錄文件

SiftingAppender      自定義篩選文件

1. ConsoleAppender 控制臺

xml




    拽拽壞人幫
    
    
    
        
            %cn -%.-1p %d{hh:MM:ss} [%8logger{26}] - %message%n
        
        
            System.err
        
    

    
        
    

    

String 用于指定字符串在控制臺的打印方式
默認是 System.out, 也可以是System.err
2. FileAppender 文件

xml




    拽拽壞人幫

    
    
        logback.log
        
            %cn -%.-1p %d{hh:MM:ss} [%8logger{26}] - %message%n
        
        true
        true
    

    
        
    

    
logback.log 指定日志文件名

true 日志是否追加到文件結尾,默認是true

true true的情況下,日志會被安全地寫入到文件 (加了鎖,因為存在多個FileAppender同時向日志文件寫入的情況),默認是false

3. RollingFileAppender 滾動記錄文件 3.1 滾動記錄文件 -- 根據時間 TimeBasedRollingPolicy

xml




    拽拽壞人幫

    
    
        
            %cn -%.-1p %d{hh:MM:ss} [%8logger{26}] - %message%n
        
        
        
            logFile/%d{yyyy/MM/dd}.log
            30
        
    

    
        
    

    
 指定滾動行為

rollingPolicy 子節點 指定文件名模式, yyyy/mm/dd 表示按天滾動 模式例子

30 控制保存的最大文件數量
如果是每天滾動30表示保存最近30天的日志文件

3.2 滾動記錄文件 -- 根據長度 FixedWindowRollingPolicy

xml




    拽拽壞人幫

    
     
        testFixedRollFile.log
        
        
            %d{hh:MM:ss} [%20logger{0}] - %message%n
        

        
            logFile/logFile.%i.log
            1
            5
        

        
            1KB
        
    

    
        
    

    

 指定根據窗口長度進滾動。
注意,使用 FixedWindowRollingPolicy 必須聲明節點

rollingPolicy 子節點 指定命名模式
注意,必須包含%i,i 為窗口索引。
滾動時,日志文件名為logFile/logFile"i".log
eg .logFile/logFile1.log logFile/logFile2.log

rollingPolicy 子節點 1 指定 i 的最小值

rollingPolicy 子節點 5 指定 i 的最大值

指定何時滾動

triggeringPolicy 子節點 1KB 指定文件大小為 1KB 時進行滾動

4. SiftingAppender 自定義篩選文件 假設有以下需求
userId 是6位的,現在想讓前4位id相同的用戶的日志放在一個文件夾中。并且id為 000000 多帶帶拿出來。
也就是以下的效果:

           /000000.log
           /0001
              /01.log
              /23.log
           /0002
              /12.log
              /00.log
第一步,按照業務需求編寫Java類
package com.cck;                                                                                                                                                                                                                                                                                               
import java.util.Map;                                                                                                                                                                                                                                                                                     
import ch.qos.logback.classic.spi.ILoggingEvent;                                                                                                        
import ch.qos.logback.core.sift.AbstractDiscriminator;                                                                                                  
                                                                                                                                                        
public class MyLoggerDiscriminator extends AbstractDiscriminator {                                                                       
                                                                                                                                                        
    public final static String KEY = "user";                                                                                                            
                                                                                                                                                        
    private String filePath;                                                                                                                            
    private String fileName;                                                                                                                            
                                                                                                                                                        
    private String defaultValue = "000000";                                                                                                             
                                                                                                                                                        
    public String getDefaultValue() {                                                                                                                   
        return defaultValue;                                                                                                                            
    }                                                                                                                                                   
                                                                                                                                                        
    public void setDefaultValue(String defaultValue) {                                                                                                  
        this.defaultValue = defaultValue;                                                                                                               
    }                                                                                                                                                   
                                                                                                                                                        
    @Override                                                                                                                                           
    public String getDiscriminatingValue(ILoggingEvent e) {                                                                                             
        // 拿到mdc                                                                                                                                        
        Map mdc = e.getMDCPropertyMap();                                                                                                
                                                                                                                                                        
        String user = mdc.get(KEY);                                                                                                                     
                                                                                                                                                        
        if(user == null || user == "000000") {                                                                                                          
            return defaultValue;                                                                                                                        
        }                                                                                                                                               
        // 返回一個路徑                                                                                                                                       
        filePath = user.substring(0, 4) + "/";                                                                                                          
        fileName = user.substring(4, 6);                                                                                                                
        return filePath + fileName;                                                                                                                     
    }                                                                                                                                                   
                                                                                                                                                        
    @Override                                                                                                                                           
    public String getKey() {                                                                                                                            
        return KEY;                                                                                                                                     
    }                                                                                                                                                   
                                                                                                                                                        
}   
第二步,在xml使用
                                                                                                                  
                                                                                                                           
                                                                                                                                                        
    拽拽壞人幫                                                                                                                    
                                                                                                                                                        
                                                                                                                                            
                                                                                                                                                                                                                      
                                                                                                 
                                                                                                                                                        
                                                                                                                                                  
                                                                  
                siftingLog/${user}.log                                                                                                     
                                                                                                                                               
                    %date{HH:mm:ss} %.-1level[%25logger{0}] - <%message>%n                                                     
                                                                                                                                              
                                                                              
                    siftingLog/${user}.%d{yyyy-MM-dd}.log.gz                                                         
                                                                                                                                        
                                                                                                                                             
                                                                                                                                                 
                                                                                                                                             
                                                                                                                                                        
                                                                                                         
                                                                                                                       
                                                                                                                                               
                                                                                                                                                        
                                                                                                                              
                                                                                                                                        
 指定自定自定義的鑒別類
第三步,使用
package com.cck;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;

public class MyLogback {

    private final static Logger logger = LoggerFactory.getLogger("com.cck.MyLogback");

    public static void main(String[] args) {
        
        MDC.put(MyLoggerDiscriminator.KEY, "156651");
        logger.debug("hello world");
    }
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110391.html

相關文章

  • LogBack入門實踐

    摘要:日志名的從開始,自動遞增就是指拋出的異常,是顯示全部,如果在中寫入數字,則表示展示多少行重點來了,上邊都是輸出源。 一、簡介 LogBack是一個日志框架,它是Log4j作者Ceki的又一個日志組件。 LogBack,Slf4j,Log4j之間的關系 slf4j是The Simple Logging Facade for Java的簡稱,是一個簡單日志門面抽象框架,它本身只提供了日志F...

    馬永翠 評論0 收藏0
  • springboot超級詳細的日志配置(基于logback)

    摘要:默認情況下將級別的日志輸出到控制臺中,不會寫到日志文件,且不能進行復雜配置。節點用于定義變量,方便使用。 showImg(https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190320135049.png); 前言 ??java web 下有好幾種日志框架,比如:logback,log4j,log4j2(slj...

    meislzhua 評論0 收藏0
  • java日志框架

    摘要:一日志概述領域存在多種日志框架,目前常用的日志框架包括,,,,,。開銷更高三與其他日志組件調用關系包名說明版本的橋接器,你需要將加入。的橋接器,原生日志框架。 一、Java日志概述 java領域存在多種日志框架,目前常用的日志框架包括Log4j 1,Log4j 2,Commons Logging,Slf4j,Logback,Jul。 Commons Logging和Slf4j是日志...

    dendoink 評論0 收藏0
  • Logback配置文件這么寫,TPS提高10倍

    摘要:框架會默認加載下命名為或的配置文件。采用異步寫日志的方式而不讓此次寫日志發生磁盤,阻塞線程從而造成不必要的性能損耗。 通過閱讀本篇文章將了解到 1.日志輸出到文件并根據LEVEL級別將日志分類保存到不同文件 2.通過異步輸出日志減少磁盤IO提高性能 3.異步輸出日志的原理 配置文件logback-spring.xml SpringBoot工程自帶logback和slf4j的依賴,所...

    cnTomato 評論0 收藏0
  • Logback配置文件這么寫,TPS提高10倍

    摘要:框架會默認加載下命名為或的配置文件。采用異步寫日志的方式而不讓此次寫日志發生磁盤,阻塞線程從而造成不必要的性能損耗。 通過閱讀本篇文章將了解到 1.日志輸出到文件并根據LEVEL級別將日志分類保存到不同文件 2.通過異步輸出日志減少磁盤IO提高性能 3.異步輸出日志的原理 配置文件logback-spring.xml SpringBoot工程自帶logback和slf4j的依賴,所...

    yedf 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<