[java]56、Log4j2

1、基本使用

1、配置maven依赖


    org.apache.logging.log4j
    log4j-core
    2.13.3

2、添加日志打印

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class TestLog4j2 {
    public static void main(String[] args) {
        Logger log = LogManager.getLogger(TestLog4j2.class);
        log.fatal("致命_FATAL");
        log.error("错误_ERROR");
    }
}

2、配置文件

1、Configuration标签
status:控制日志的打印级别,例如:status="WARN"
monitorInterval:每隔多少秒扫描配置文件、应用配置文件最新修改


2、Console
target:可以取值SYSTEM_OUTSYSTEM_ERR
3、ThresholdFilter:控制日志级别阈值
onMatch:到达时,onMismatch:未到达时
取值:
ACCEPT:开启。会忽略后面的所有Filter
DENY:关闭。会忽略后面所有的Filter
NEUTRAL:中立。会传递给下一个Filter进行处理
4、LevelRangeFilter
minLevel:填写最大级别、maxLevel填写最小级别





    
        

        

        
    

4、彩色打印
highlight:不同级别显示不同颜色
%c{1.}:简写日志包名,打印形式c.s.TestLog4j2

%style{%d{HH:mm:ss.SSS}}{yellow} %highlight{[%-5p]} %style{%c{1.}}{magenta}: %m%n

日志换行打印效果

换行

打印结果

5、File
配置文件名称即可输出打印


    

6、RollingFile

  • Policies:滚动文件的策略,基于时间和文件大小的策略
    TimeBasedTriggeringPolicySizeBasedTriggeringPolicy
  • Delete:文件的删除规则
    IfFileName:文件名称符合的规则
    IfLastModified:文件的修改属性

    
    


        

        
    

    

        
            

            
                
                    
                    
                
            
        
    

7、Async异步打印日志


    

3、SLF4j+Log4j2的实现

1、需要在maven中添加依赖
log4j-slf4j-impl:依赖
log4j-coreslf4j-api,因此不需要添加此两项依赖


    org.apache.logging.log4j
    log4j-slf4j-impl
    2.13.3


    org.projectlombok
    lombok
    1.18.12

2、java代码中实现

@Slf4j
public class TestSLF4JLog4j2 {
    public static void main(String[] args) {
        log.error("错误_ERROR");
        log.warn("警告_WARN");
    }
}

你可能感兴趣的:([java]56、Log4j2)