完整的logback配置示例ELK整合包含生成json日志

一、依赖

由于配置中使用了json格式的日志输出,所以需要引入如下依赖

"net.logstash.logback:logstash-logback-encoder:4.11",

二、配置说明

1.日志的输出路径

2.读取spring容器中的属性,这里是获取项目名称和运行的服务器IP


3.设置日志的格式

4.添加一个输出器,并滚动输出

5.指定输出的文件位置

../${LOG_PATH}/${appName}/${appName}-error.log

6.指定滚动输出的策略,按天数进行切分,或者文件大小超过2M进行切分


      ../${LOG_PATH}/${appName}/${appName}-error-%d{yyyy-MM-dd}.%i.log
      
        2MB
      
    

7.下面的文件中一共有四个appender, FILEERROR, FILEEWARN, FILEINFO, logstash。

其中FILEERROR, FILEEWARN, FILEINFO三个是相类似的,只是打印不同级别的日志信息。
logstash是用来生成json格式的日志文件,方便与ELK日志系统进行集成。

三、完整配置


  ${HOSTNAME}
  
  
  
  
  
    ../${LOG_PATH}/${appName}/${appName}-error.log
    
      ../${LOG_PATH}/${appName}/${appName}-error-%d{yyyy-MM-dd}.%i.log
      
        2MB
      
    
    true
    
      ${CONSOLE_LOG_PATTERN}
      utf-8
    
    
      error
      ACCEPT
      DENY
    
  
  
    ../${LOG_PATH}/${appName}/${appName}-warn.log
    
      ../${LOG_PATH}/${appName}/${appName}-warn-%d{yyyy-MM-dd}.%i.log
      
        2MB
      
    
    true
    
      ${CONSOLE_LOG_PATTERN}
      utf-8
    
    
      warn
      ACCEPT
      DENY
    
  
  
    ../${LOG_PATH}/${appName}/${appName}-info.log
    
      ../${LOG_PATH}/${appName}/${appName}-info-%d{yyyy-MM-dd}.%i.log
      
        2MB
      
    
    true
    
      ${CONSOLE_LOG_PATTERN}
      utf-8
    
    
      info
      ACCEPT
      DENY
    
  
  
    ../${LOG_PATH}/${appName}/${appName}.json
    
      ../${LOG_PATH}/${appName}/${appName}-%d{yyyy-MM-dd}.json
      7
    
    
      
        
          UTC
        
        
          
            {
            "ip": "${ip}",
            "app": "${appName}",
            "level": "%level",
            "trace": "%X{X-B3-TraceId:-}",
            "span": "%X{X-B3-SpanId:-}",
            "parent": "%X{X-B3-ParentSpanId:-}",
            "thread": "%thread",
            "class": "%logger{40}",
            "message": "%message",
            "stack_trace": "%exception{10}"
            }
          
        
      
    
  
  
    
      ${CONSOLE_LOG_PATTERN}
      utf-8
    
    
      debug
    
  
  
  
  
  
    
    
    
    
    
  

以上就是完整的logback配置示例ELK整合包含生成json日志的详细内容,更多关于ogback配置ELK整合生成json日志示例的资料请关注脚本之家其它相关文章!

你可能感兴趣的:(完整的logback配置示例ELK整合包含生成json日志)