Spring Boot 使用 logback、logstash、ELK 记录日志

步骤一: springboot增加依赖

  
      net.logstash.logback
      logstash-logback-encoder
      4.10
  

步骤二:修改logback配置:



    
    
    
    
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg  %n
        
    
    
    
        
            
            ${LOG_HOME}/runtime-info-%d{yyyy-MM-dd}.log
            
            30
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
        
        
            INFO
            ACCEPT
            DENY
        
        
        
            10MB
        
    
    
        
            
            ${LOG_HOME}/runtime-debug-%d{yyyy-MM-dd}.log
            
            30
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
        
        
            DEBUG
            ACCEPT
            DENY
        
        
        
            10MB
        
    
    
        
            
            ${LOG_HOME}/runtime-error-%d{yyyy-MM-dd}.log
            
            30
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
        
        
            ERROR
            ACCEPT
            DENY
        
        
        
            10MB
        
    

    
        
        192.168.239.128:10514
        
            {"appname":"jacob"}
        
    


    
    
        
        
        
        
        
    

最关键是:logstash 部分的appender配置。 appname是索引名称,需要通过该索引进行日志查询。

步骤三: 增加测试代码

  @RequestMapping("one/{id}")
    public Object findOne(@PathVariable int id){
        User user =   userService.selectOne(id);
        logger.info("user测试:"+user.toString());
        logger.debug("user测试:"+user.toString());
        logger.error("user测试:"+user.toString());
        return user;
    }

步骤四: 运行代码,确保ELK整个服务正常启动和运行。

步骤五: 在Kibana 查看日志

在Kibana控制台先创建索引:索引名称就是刚在logback.xml配置中的:jacob*

 

 

Spring Boot 使用 logback、logstash、ELK 记录日志_第1张图片

索引创建成功后,进入到“Discover”菜单中查询日志。

在Discover中添加过滤器:

Spring Boot 使用 logback、logstash、ELK 记录日志_第2张图片

添加后,在输入框搜索日志的部分信息,即可进行查询:

Spring Boot 使用 logback、logstash、ELK 记录日志_第3张图片

截止到目前springboot的日志信息已经对接到ELK中,后续更多功能再补充。

你可能感兴趣的:(JavaWeb-Spring)