springcloud集成logstash

需求:springcloud项目中需要对行为日志进行收集与上报、分析
背景:项目开始阶段日志框架使用的是spring-boot-starter-log4j2,后因与logstash集成不够友好,将日志框架替换为spring-boot-starter-logging。spring-boot-starter-logging日志底层使用的是logback日志框架。
1、日志配置依赖如下:
  
       org.springframework.boot
       spring-boot-starter-logging
       2.1.7.RELEASE
 
 
       net.logstash.logback
       logstash-logback-encoder
       5.2
 
2、日志文件输出位置,日志文件名称从项目配置中获取,故进行配置
log:
  path: ./log
spring:
  application:
    name: xxxx
3、logstash地址配置
logstash:
  server-addr: 192.168.135.99:4560
4、配置日志环境
logging:
  config: classpath:logback-busi-dev.xml
5、新建logback.xml配置文件



    
    
    
    
    
    
        
            ${log_pattern}
        
    
    
    
        ${log.path}/${log.name}-sys.log
        
            ${log.path}/${log.name}-sys-%d{yyyy-MM-dd}-%i.log
            60
            
                10MB
            
        
        
            ${log_pattern}
        
    
    
    
        ${log.path}/${log.name}-controller.log
        
            ${log.path}/${log.name}-controller-%d{yyyy-MM-dd}-%i.log
            60
            
                10MB
            
        
        
            ${log_pattern}
        
    
    
    
        ${log.path}/${log.name}-service.log
        
            ${log.path}/${log.name}-service-%d{yyyy-MM-dd}-%i.log
            60
            
                10MB
            
        
        
            ${log_pattern}
        
    
    
        ${logstash.server-addr}
        
            
                
                    10
                    \u2028
                
            
            
                
                    
                        {
                        "serviceName":"xx-businessx",
                        "timestamp":"%date{ISO8601}",
                        "message":"%msg%n"
                        }
                    
                
            
        
        5 minutes
    
    
        
        
        
    
    
        
        
    
    
        
        
    

你可能感兴趣的:(springcloud集成logstash)