一 背景介绍
系统错误异常管理是非常重要的系统模块,在我们的日常开发,测试,线上运营诊断都有着非常强大的做用。然而,传统的日志系统都是发生在系统出问题的时候,工程师们去后台一段一段的翻看日志,海量的日志具有一定的不可读性,给系统运维,排查错误带来了大量的无用工作,有没有一种方案,可以把系统的错误自动收集,自动归类,以报表的形式把错误信息整理出来。vicrab就此诞生。

二 Vicrab 简介
  vicrab日志系统是目前非常流行的日志监控和运维的SAAS服务框架, vicrab主要包含了以下几个部分:
Vicrab admin:基于云的saas服务,用户只需要注册一个账号,通过简单的配置,便可以轻松管理使用自己的应用异常。
Vicrab SDK :vicrab的客户端程序。目前vicrab的开发团队已经上线了vicrab-sdk for java ,vicrab-sdk for android 的两种客户端方案,只需要在项目中简单引入,配置日志传输路径即可集成完毕。
Vicrab document:vicrab 的介绍文档,在github 上和官网都可以下载使用。

三 为什么要使用 vicrab
当下很多公司都采取传统的开发模式,前端和后端的工作由不同的工程师完成。在这种开发模式下,维持一份及时更新且完整的 错误日志系统将会极大的提高我们的工作效率。传统意义上的错误都是前端工程师管前端的,后台开发负责后台的,当发生异常的时候,大家从前往后查,或者从后往前推的思路,但是错误日志是分散的,而且有些错误并不能重现,相信大家也都知道这种方式很难保证错误修复的及时性,反而还会加大我们的沟通成本。而 vicrab给我们提供了一个全新的错误跟踪的方式,下面我们就来了解一下它的优点:
简化管理,saas服务,在统一的控制台进行管理。
集成简单,只需要简单的三步就可以完成集成后续无需更改。
高性能,基于日志系统的异步实现,性能好,对原系统无影响。
价格低廉:低廉的使用成本,对企业而言可以忽略不计。

以上这些优点足以说明我们为什么要使用 vicrab了,您是否已经对 vicrab产生了浓厚的兴趣了呢?下面我们就将一步一步地在 Spring Boot 项目中集成和使用 vicrab,让我们从准备一个 Spring Boot 的 Web 项目开始吧。

四 下载vicrab
vicrab通过在线仓库的形式进行系统集成,非常方便。

官网地址:
https://www.vicrab.com
在线文档:
https://github.com/vicrab/vicrab-docs/blob/master/src/clients/java/modules/logback.md

五 选择合适的vicrab sdk
根据你的系统日志的实现方式来选择相应的sdk client 进行集成。查看官网(https://github.com/vicrab/vicrab-docs/blob/master/src/clients/java/index.md)的帮助,目前提供了如下的5种SDK来供大家使用
Android >> demo
java.util.logging >> demo
Log4j 1.x >> demo
Log4j 2.x >> demo
Logback >> demo
Android客户端最好选择,就它一个。而java的服务端会根据你的日志实现方式来进行选择,分为原生util log,log4j1 ,log4j2,logback四种形式来进行区分。这几种形式只是引入的jar包不同,其他步骤都一样。

集成步骤

vicrab从java6开始提供支持.

1 创建一个账号。访问官网开始创建http://vicrab.com.
在 java 项目中使用 vicrab 实现自动化异常(BUG)管理插件

注册的时候,需要配置你的项目,选择开发语言,比如java,输入项目名称,组织等信息。注册完成。

2 引入sdk ,此步骤可以参考第5部分介绍,比如log4j1版本

Using Maven:
<dependency>
<groupId>com.vicrab</groupId>
<artifactId>vicrab-log4j</artifactId>
<version>1.1</version>
</dependency>

假如你的项目使用的是springboot框架,那么需要在另外多引入一个包,体验更佳。
<dependency>
<groupId>com.vicrab</groupId>
<artifactId>vicrab-spring-boot-starter</artifactId>
<version>1.2</version>
</dependency>

Using Gradle:
compile 'com.vicrab:vicrab-log4j:1.1'
Using SBT:
libraryDependencies += "com.vicrab" % "vicrab-log4j" % "1.1"

3 配置使用

   配置DSN和日志文件(DSN的地址可以在vicrab的控制台设置里面提供,每个用户一个,各自独立),日志配置支持properties,xml 两种格式,具体参考在线手册。

dsn=https://94f35849a36ed14ded6539e0f5c86811@j.vicrab.com/17841

七 集成案例

在这一步我们将准备一个基础的 Spring Boot 的项目,结构如下

在 java 项目中使用 vicrab 实现自动化异常(BUG)管理插件

编写LoggerTest.java类,我们实现一个异常来进行测试。
在 java 项目中使用 vicrab 实现自动化异常(BUG)管理插件

添加依赖:
在 java 项目中使用 vicrab 实现自动化异常(BUG)管理插件
配置DSN和log4j
在 java 项目中使用 vicrab 实现自动化异常(BUG)管理插件

运行起来测试:
在 java 项目中使用 vicrab 实现自动化异常(BUG)管理插件

控制台查看错误
在 java 项目中使用 vicrab 实现自动化异常(BUG)管理插件

八 结束语
本文介绍了vicrab的背景和用途,以及和log4j1的项目的集成方式,通过本篇我们已经对vicrab有了一个大致的认识,还有很多的强大的功能待我们后续去发掘和研究。后续还会有更多更强大的功能分享给大家。比如代码定位,AI代码修复等。敬请期待。

九 参考资料

在线文档 :
https://github.com/vicrab/vicrab-docs/blob/master/src/clients/java/index.md

技术支持邮箱:support@vicrab.com

    https://vicrab.com/about?message=#