SpringBoot整合Sentry监控项目日志

Sentry Java版使用简介

基本概念

Sentry是什么

Sentry 是一个开源的实时错误报告工具,支持 web 前后端、移动应用以及游戏,支持 Python、OC、Java、Go、Node、Django、RoR 等主流编程语言和框架 ,还提供了 GitHub、Slack、Trello 等常见开发工具的集成。

DSN(Data Source Name)

Sentry 服务支持多用户、多团队、多应用管理,每个应用都对应一个 PROJECT_ID,以及用于身份认证的 PUBLIC_KEY 和 SECRET_KEY。由此组成一个这样的 DSN:

'{PROTOCOL}://{PUBLIC_KEY}:{SECRET_KEY}@{HOST}/{PATH}{PROJECT_ID}'

PROTOCOL 通常会是 http 或者 https,HOST 为 Sentry 服务的主机名和端口,PATH 通常为空。
为方便管理,每个应用生成一个 DSN,具体可咨询虎大师 或者 我。

使用 Sentry SDK

Sentry 的 SDK 通常在各语言的包管理器中成为 Raven,使用起来也非常简单。以 Java版本为例(使用SpringBoot框架):

  • 1.首先项目中pom文件安装 Raven

    
    
       com.getsentry.raven
       raven-logback
       8.0.2
   

  • 2.在项目配置文件中建立logback.xml


    
    
    
    
    
    
    />

    
        
            
            ${CONSOLE_LOG_PATTERN}
        
    


    
        
        http://d73b23c481654b9ca0e4e8a9db310169:[email protected]/7
        
        
            WARN
        
    

    
        
    

     
        
        
    

  • 3.application.propertes中添加导入日志配置【主要要提前在pom文件中添加包含*.xml,否则会报错,not found file】

logging.config=classpath:logback.xml

  • 4.接口层,正常使用logger等方法。Raven会自动把warn级别通过tcp发送到日志中心,并通知相关人员查看信息
   @RequestMapping(value = "/testlog", method = RequestMethod.GET)
    public void testLog() {
        logger.info("test接口");//最低拦截级别为warn,所以info不会输出发送到日志中心
        logger.error("error"); //会显示在日志中心,并邮件通知相关联系人
    }

这样就可以使用 Raven 对象向 Sentry 服务器中提交日志信息了。

使用 Sentry web 服务

主要是登录后台查看,后续有时间更新此部分文档。开通账号可找虎大师。

附录

sentry 官方文档







    
    test

    
    


    
    
        
            
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
        
    

    
    

        
        
            
            DEBUG
            
            ACCEPT
            
            DENY
        
        UTF-8
        ${Log_Home}/debug/debug.log
        
        
            
                ${Log_Home}/debug/debug.%d{yyyy-MM-dd}.%i.log
            
            
            1
            
                
                2MB
            
        

        
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
        
    

    
    

        
        
            
            INFO
            
            ACCEPT
            
            DENY
        
        UTF-8
        ${Log_Home}/info/info.log
        
        
            
                ${Log_Home}/info/info.%d{yyyy-MM-dd}.%i.log
            
            
            1
            
                
                2MB
            
        

        
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
        
    


    
    

        
        
            
            WARN
            
            ACCEPT
            
            DENY
        
        UTF-8
        ${Log_Home}/warn/warn.log
        
        
            
                ${Log_Home}/warn/warn.%d{yyyy-MM-dd}.%i.log
            
            
            1
            
                
                2MB
            
        

        
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
        
    

    
    

        
        
            
            ERROR
            
            ACCEPT
            
            DENY
        
        UTF-8
        ${Log_Home}/error/error.log
        
        
            
                ${Log_Home}/error/error.%d{yyyy-MM-dd}.%i.log
            
            
            1
            
                
                2MB
            
        

        
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
        
    


    
    

    
    
    
        
        
        
        
        
    


你可能感兴趣的:(SpringBoot整合Sentry监控项目日志)