您的位置:

Logback日志级别详解

一、Logback日志级别配置

Logback日志级别共分为OFF、ERROR、WARN、INFO、DEBUG、TRACE和ALL 7个等级,按照从静默到详细的级别递增,OFF表示最高等级禁用所有日志记录,ALL表示最低等级启用全部日志记录。默认日志级别为DEBUG。

我们可以通过在logback.xml文件中配置root节点下的level属性或者logger节点下的level属性来配置日志级别。

    
        
     
            
      
        
     
        
     
        
     
    
  

二、Logback日志级别高低

Logback日志级别按照从静默到详细的级别递增,我们可以通过设置不同的日志级别来调整日志输出的详细程度。当日志级别设置为ERROR时,只会输出最严重的错误信息;当日志级别设置为TRACE时,会输出最详细的调试信息。不同的业务需求需要设置不同的日志级别。

三、Logback.xml日志级别

logback.xml文件是Logback的配置文件,在这个文件中我们可以对Logback进行个性化的配置,比如设置日志的级别、输出路径等。我们可以使用下面的代码来配置日志级别:

    
        
   
            
    
        
   
    
  

四、Logback动态切换日志级别

在开发的过程中,有时候需要动态地修改日志级别。我们可以通过logback的Mbean来实现动态修改日志级别的需求。下面是一个简单的示例:

    //通过重载MBean对象,动态修改日志级别
    public void changeLogLevel(String loggerName, String level){
        LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
        Logger targetLogger = loggerContext.getLogger(loggerName);
        targetLogger.setLevel(Level.toLevel(level));
    }

五、Logback日志打印级别

Logback日志打印级别指的是输出在终端的日志级别。我们可以通过配置ConsoleAppender节点下的encoder属性来设置输出在终端的日志级别。如下所示:

    
        
   
            
    
                
     %d{HH:mm:ss.SSS} [%thread] %-5level %logger{15} - %msg%n
     
                
     UTF-8
     
            
    
        
   
        
   
            
    
        
   
    
  

六、Logback日志过滤某个包

有时候我们需要将某一特定包中的日志过滤掉,我们可以使用过滤器实现该功能。比如我们需要将Spring框架中的日志过滤掉,可以使用以下代码:

    
        
   
            
    
                
     D:/logs/encryptor.%d{yyyy-MM-dd}.%i.log.gz
     
                
     50MB
     
                
     30
     
            
    
            
    
                
     %-5level [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %logger : %message%n
     
            
    
            
    
                
     
                    
      
                        return (message.contains("org.springframework."));
                    
      
                
     
                
     DENY
     
                
     NEUTRAL
     
            
    
        
   
    
  

七、Logback配置日志路径

我们可以通过配置logback.xml中的appender节点的fileName属性来设置日志文件的输出路径:

    
        
   
            
    /usr/local/tomcat/logs/MyProject.log
    
            
    
                
     /usr/local/tomcat/logs/MyProject.%d{yyyy-MM-dd}.%i.log.gz
     
                
     50MB
     
                
     30
     
            
    
            
    
                
     %-5level [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %logger : %message%n
     
            
    
        
   
        
   
            
    
        
   
    
  

八、Logback异步日志配置

在高并发的情况下,同步日志会对应用程序的性能造成影响。我们可以通过Logback的异步日志来解决这个问题。使用异步日志时,日志事件先被存放在一个队列中,然后由一个独立的线程来处理队列中的日志事件。以下是一个异步日志的配置示例: