• log4j配置


    通过百度我们轻松的看到log4j分为 OFF 、FATAL 、ERROR、WARN 、INFO 、DEBUG 、TRACE 、ALL几个级别,对应如下

    级别作用
    ALL所有级别包括自定义级别
    DEBUG调试消息日志
    ERROR错误消息日志,应用程序可以继续运行
    FATAL严重错误消息日志,必须中止运行应用程序
    INFO信息消息
    OFF最高可能的排名,旨在关闭日志记录
    TRACE很低的日志级别,一般不会使用
    WARN用于警告消息

    其中一般情况下推荐使用DEBUG、INFO、WARN、ERROR和FATAL五种,他们对应的级别关系为

    DEBUG
    • 1

    我们通过控制应用程序中日志信息的级别来打印需要的日志。程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。如果设置级别为INFO,则优先级高于等于INFO级别(如:INFO、WARN、ERROR)的日志信息将可以被输出,小于该级别的如DEBUG将不会被输出。

    那如何配置log4j呢,如下代码:

    
    
    
    
    
        
            
                
            
        
    
        
            
            
            
            
             
            
            
            
                
            
        
    
        
            
            
            
             
            
            
             
            
        
    
    
        
        
            
            
        
    
        
            
            
        
    
        
            
            
            
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    root、category、appender、level这些标签的作用是什么,下面让我们来一一解答。

    首先,appender是配属日志输出目的地,输出日志信息到指定位置。Log4j中支持多种appender,如 console、files、GUI components、NT Event Loggers等,一个配置中可以拥有多个Appender,也就是你既可以将Log信息输出到屏幕,同时存储到一个文件中。具体如下:

    appender输出位置
    org.apache.log4j.ConsoleAppender控制台
    org.apache.log4j.FileAppender文件
    org.apache.log4j.DailyRollingFileAppender每天产生一个日志文件
    org.apache.log4j.RollingFileAppender文件大小到达指定尺寸的时候产生一个新的文件
    org.apache.log4j.WriterAppender将日志信息以流格式发送到任意指定的地方

    root和category都是通过如appender-ref ref="CONSOLE"执行具体appender中的日志策略,配置哪个appender执行哪个。

    其中,root是控制整个工程的日志,category的name,指定的是控制某个包下的日志 , 可以按照业务逻辑进行日志分类输出打印。root和category是父子关系,root标签可以不写,category也可以不写 , 但是必须写一个。

    category的属性additivity="false"表示在category中定义日志输在root中过滤掉。如上例中com.ab.service.sdk包和com.ab.service.sdk.dao包下的日志只打印到控制台,日志级别分别为DEBUG和INFO。而工程下其它日志级别为ERROR,打印到控制台和/export/Logs/Domains/service.trade.lcoal/server1/logs/service.log文件中。

  • 相关阅读:
    linux0.11-虚拟内存
    C++初探 5-1(for循环)
    EasyExcel使用
    RDD——Action算子
    360测试开发技术面试题目
    spring-session的使用及其原理——分布式session解决方案
    js中map和set的区别
    java项目整合linux上的redis
    【React-hooks篇幅】自定义hooks
    pyinstaller打包python/fastapi项目为exe
  • 原文地址:https://blog.csdn.net/weixin_42784951/article/details/126057245