1. 首页
  2. >
  3. 技术信息
  4. >
  5. 技术文章

我比别人能更早更及时地定位解决bug,是悄悄用了这个日志工具

前言

不怕犯错误,就怕出了错误不能及时处理,怎么快速的定位问题,通常的做法都是上服务器,然后看相应的日志,这实在是太费力,也不直观,并且大多数时候,作为开发的我们没有登录生产环境的权限。很多人会提出elk日志平台,对于我们来说太重了,有没有更轻量级的框架,我分享一个轻量级的工具sentry。

推荐理由

1 开源(可以注册一个账号直接使用,也可以自己搭建)

2 集成简单,只需要简单配置即可用

3 对于代码没有侵入性

4 报错及时,并且可以发邮件通知

5 支持几乎所有的主流语言

我比别人能更早更及时地定位解决bug,是悄悄用了这个日志工具


原理

客户端利用SDK,将错误日志放进线程池,线程池异步地将错误日志发送给web服务器。

实践

1 注册一个账号(利用免费资源),或者自己搭建sentry(建议使用 Docker 安装

如果自己搭建 建议使用地址: https://github.com/getsentry/onpremise.git


我比别人能更早更及时地定位解决bug,是悄悄用了这个日志工具

2 引入pom

		<dependency> 			<groupId>io.sentry</groupId> 			<artifactId>sentry-logback</artifactId> 			<version>3.2.0</version> 		</dependency>

3 配置logback日志

dsn 值


我比别人能更早更及时地定位解决bug,是悄悄用了这个日志工具

    <appender name="Sentry" 		class="io.sentry.logback.SentryAppender"> 		<filter class="ch.qos.logback.classic.filter.LevelFilter"> 			<!-- 过滤的级别 --> 			<level>ERROR</level> 			<!-- 匹配时的操作:接收(记录) --> 			<onMatch>ACCEPT</onMatch> 			<!-- 不匹配时的操作:拒绝(不记录) --> 			<onMismatch>DENY</onMismatch> 		</filter> 		<options> 			<dsn>https://xxxx/2620493</dsn> 		</options> 	</appender>  	<root level="info"> 			<appender-ref ref="sentry" /> 	</root>

4 测试


我比别人能更早更及时地定位解决bug,是悄悄用了这个日志工具

我比别人能更早更及时地定位解决bug,是悄悄用了这个日志工具


我比别人能更早更及时地定位解决bug,是悄悄用了这个日志工具

演示视频

播放 暂停
进入全屏 退出全屏
00:00 00:00
重播 刷新试试