LOG4J2指定不同类型的日志输出到不同的文件

在项目中,可能会产生非常多的日志记录,为了方便日志分析,一般可以将日志按级别输出到指定文件,本次就先说说log4j2的实现吧。

我们配置的Appender默认情况下是可以输出任何类型的日志的,只要某个Logger引用了Appender,那么这个Logger中输出的任何日志信息都能输出到该Appender中,当前了Logger中是可以设置日志级别的,高于设置的级别才能输出,但是也不能达到我们想要的效果,如果我们想要error日志输出到error文件之中,warn日志输出到warn文件中,那么Logger很明显不能做到,Logger只能限制日志的底线,不能限制日志的上限。我们如果要限制上限,就需要用到Appender中的过滤器了。

 

package com.jessezeng.log4j2.test;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class Test {
    
    private static  Logger log=LogManager.getLogger(Test.class);
    public static void main(String[] args) {
          log.info("info test...................");
          log.error("error test...................");
    }
}



    
    
         %d %-5p [%c] %m%n 
        /logs

        ${basePath}/common.log
        ${basePath}/common%d{yyyy-MM-dd}.log

        ${basePath}/error.log
        ${basePath}/error%d{yyyy-MM-dd}.log

    
    
    
        
        
            
            
            
            
        

        
        
        
            
                // 设置Appender日志的上限
                
                // 设置Appender日志的底线,最终就能使该文件中只输出info日志了
                
             
            
                
            
        

        
             
            
                %d{yyyy-MM-dd HH:mm:ss} %-5level %class{36} %L %M - %msg%xEx%n
            
            
                
            
        
    
    
    
        
            
            
        
    

 

你可能感兴趣的:(LOG4J2指定不同类型的日志输出到不同的文件)