java 开发人员工具_Java开发人员应该知道的5种错误跟踪工具

java 开发人员工具

 

错误线

随着Java生态系统的发展,可满足不断增长的请求和用户对高性能需求的Web应用程序成为了新型的现代开发工具。 具有快速新部署的快速节奏环境需要跟踪错误,并以传统方法无法维持的水平获得对应用程序行为的洞察力。 在本文中,我们决定收集其中的5种工具,看看它们如何与Java集成,并找出它们掌握了哪些技巧。 现在该粉碎一些错误了 。

射线枪

Mindscape的Raygun是基于Web的错误管理系统,可跟踪来自您应用程序的异常。 它支持各种桌面,移动和Web编程语言,包括Java,Scala,.NET,Python,PHP和JavaScript。 除此之外,还可以通过REST API向Raygun发送错误,由于开发者社区的参与,更多的提供程序(它们称为语言和框架集成)得以实现。

Raygun屏幕截图

主要特点:

  • 错误分组–每次出现的错误都会在一个组中呈现,并且可以访问该错误的单个实例,包括其堆栈跟踪。
  • 全文搜索–可搜索错误组和所有收集的数据。
  • 查看应用程序活动–对错误组的每项操作都会显示给您的所有团队,以供查看:状态更新,评论等。
  • 受影响的用户–每个错误都会显示受影响的用户数。
  • 外部集成– Github,Bitbucket,Asana,JIRA,HipChat等。

Java角度:若要将Raygun与Java一起使用,如果使用Maven或手动添加jar,则需要在pom.xml文件中添加一些依赖项。 第二步是添加一个UncaughtExceptionHandler,它将创建RaygunClient实例并将您的异常发送给它。 此外,您还可以将自定义数据字段添加到异常中,并将它们一起发送给Raygun。 完整的演练可在此处获得 。

幕后:认识Raygun认证的操作员Robie Robot 。 就像实际的射线枪一样。

在以下位置查看: https //raygun.io

哨兵

Sentry从一个附带项目开始,是一个基于开源 Web的解决方案,可作为实时事件记录和聚合平台。 它监视错误并显示错误发生的时间,地点和对象,并承诺不会完全依靠用户反馈来做到这一点。 支持的语言和框架包括Ruby,Python,JS,Java,Django,iOS,.NET等。

哨兵截屏1

主要特点:

  • 实时查看新部署的影响
  • 为因错误而中断的特定用户提供支持
  • 检测并阻止欺诈行为–通知有关购买,身份验证和其他敏感区域的异常失败数量
  • 外部集成– GitHub,HipChat,Heroku等

Java角度: Sentry的Java客户端称为Raven,它支持现有的主要日志记录框架,例如java.util.logging,Log4j,Log4j2和带有Slf4j的Logback。 还提供了将事件直接发送到Sentry的独立方法。 例如,要设置带有Logback的Sentry for Java,您需要手动或通过Maven添加依赖项,然后添加一个新的Sentry附加程序配置,这很好。 此处提供说明。

幕后花絮: Sentry是2010年在Disqus上的一个内部项目,用于解决Chris Jennings和David Cramer编写的Django应用程序上的异常日志记录

在以下位置查看: https //www.getsentry.com/

塔基皮

与大多数其他工具不同,Takipi远不只是堆栈跟踪修饰符。 它的构建考虑了一个简单的目标:告诉开发人员确切的时间和原因破坏生产代码。 每当引发新异常或发生日志错误时,Takipi都会捕获该异常,并在方法和机器之间向您显示导致该异常的变量状态。 Takipi会将其覆盖在发生错误时执行的实际代码上,因此您可以像在发生异常时一样在其中分析异常。

Takipi2

主要特点:

  • 检测-捕获/未捕获的异常,Http和记录的错误。
  • 优先级排序–错误在群集中发生的频率,是否涉及新代码或修改后的代码以及错误率是否在增加。
  • 分析–即使在不同的机器和应用程序之间,也可以查看实际的代码和变量状态。
  • 易于安装–无需更改代码或配置。
  • 不到2%的开销。

Java角度: Takipi是为Java和Scala中的生产环境而构建的。 安装过程不到1分钟,包括将Java代理附加到JVM。

幕后:每种异常类型和错误都有一个代表它的独特怪物。 你可以在这里找到这些怪物。

在以下位置查看: http //www.takipi.com/

气刹

刹车片截图

Rackspace的Airbrake是另一个使异常跟踪更为醒目的工具,其使命是“不再搜索日志文件”。 它为用户提供了基于Web的界面,其中包括带有错误详细信息的仪表板和特定于应用程序的视图。 支持的语言包括Ruby,PHP,Java,.NET,Python甚至Swift。

主要特点:

  • 详细的堆栈跟踪,按错误类型,用户和环境变量分组
  • 团队生产力–从噪音中过滤掉重要错误
  • 团队协作–查看谁造成了错误并由谁修复
  • 外部集成– HipChat,GitHub,JIRA,Pivotal和其他30多个

Java角度:尽管还提供了Logback库,但Airbrake正式仅支持Log4j。 当前缺少Log4j2支持。 安装过程类似于Sentry,手动或通过Maven添加一些依赖项,添加附加程序,您就可以开始了。 同样,AirbrakeNotice和AirbrakeNotifier也提供了直接向Airbrake发送消息的方法。 更多详细信息在这里 。

幕后花絮 Airbrake被Exceptional收购,然后被Rackspace 收购 。

在以下位置查看: https : //airbrake.io/

StackHunter

Stack Hunter当前处于测试版,提供了一个自托管工具来跟踪您的Java异常。 与过去托管工具相比的景色发生了变化。 除此之外,它旨在提供类似的功能集,以告知开发人员其异常并帮助他们更快地解决它们。

StackHunter屏幕截图

主要特点:

  • 一个自托管的Web界面,可查看所有异常
  • 堆栈跟踪数据和上下文的集合,包括关键指标,例如总异常,唯一异常,受影响的用户和受影响的会话
  • 发生异常时即时发出电子邮件警报
  • 按根本原因对异常进行分组

Java角度: StackHunter专为Java构建,可在任何运行Java 6或更高版本的servlet容器上运行。 安装包括在本地servlet上运行StackHunter,配置用于警报的传出邮件服务器以及配置您希望记录的应用程序。 完整说明可在此处获得 。

幕后花絮 StackHunter由Dele Taylor开发,他还致力于数据管道 -一种用于在Java中转换和迁移数据的工具。

在以下位置检查: http : //stackhunter.com/

奖励:ABRT

值得一提的另一种错误跟踪方法是ABRT,它是来自Fedora生态系统的自动错误检测和报告工具,该工具是Red Hat赞助的社区项目。 与我们在此介绍的5种工具不同,该工具不仅旨在供应用程序开发人员使用,而且还应供其用户使用。 将错误报告给Red Hat具有更丰富的上下文,否则将很难理解和调试。

ABRT

Java角度:对Java异常的支持仍处于概念验证阶段。 由JakubFilák开发的Java连接器可在此处获得 。

幕后花絮 ABRT是Red Hat开发的一个开源项目。

在以下位置查看它: https : //github.com/abrt/abrt

我们还错过任何其他工具吗? 您如何跟踪例外情况? 请在下面的评论部分中告诉我

翻译自: https://www.javacodegeeks.com/2014/09/5-error-tracking-tools-java-developers-should-know.html

java 开发人员工具

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Camel 3.2 – Camel的无反射配置

在Apache Camel项目中,我们正在努力开发下一个即将发布的下一个Apache Camel 3.2.0版本。 我们在Camel 3中努力研究的问题之一就是使其变得更小,更快。 其中一个方面是配置管理。 您可以按照12要素原则以多种方式完全配置Camel,以使配置与应…

java jsoup解析_3使用Jsoup解析Java中HTML文件的示例

java jsoup解析HTML是Web的核心,无论您是通过JavaScript,JSP,PHP,ASP或任何其他Web技术动态生成的,您在Internet上看到的所有页面都是基于HTML的。 您的浏览器实际上是解析HTML并为您呈现它。 但是,如果需要…

【AI提示词艺术】第12期 摄影艺术构图处理和人像生成的技巧

摄影艺术构图 星空宇宙 关键词: 强烈的明暗对比,8k,精细的描述,相片纸,超高分辨率,无建筑的,大自然,星空,云朵,刺眼流星,群星,银河,仰视视角,广角镜头 以下是按照提示词类别整理的相关描述&a…

Kogito,ergo规则:从知识到服务,轻松自如

欢迎阅读有关Kogito倡议的博客系列的另一集,以及我们将Drools带入云的努力。 这些文章的目的是收集用户对我们提供给Kogito的功能的早期反馈。 在本文中,我们介绍了两种实现完整智能服务的新方法 : 独立的规则服务 集成智能工作流程和规则…

linux 读取内存颗粒,Linux虚拟内存地址转化成物理内存地址

背景现代手机这种SOC(system on chip),因为功耗、Modem等功能soc上集成了很多core,他们还可以是独立的系统在运转。比如ADSP简介ADSP(Application Digital Signal Processing)就是高通的Hexagon DSP ,就是独立运转的一个coresystem。这样做不仅可以使用soc上的专用核…

primefaces_PrimeFaces扩展中的全新JSF组件

primefacesPrimeFaces扩展团队很高兴宣布即将推出的3.0.0主要版本的几个新组件。 我们的新提交者Francesco Strazzullo为该项目提供了“ Turbo Boost”,并带来了至少6个已成功集成的 JSF组件! 当前的开发状态是OpenShift上的deployet – 请查看展示柜。以…

linux中memcpy实现分析,ARM64 的 memcpy 优化与实现

如何优化 memcpy 函数Linux 内核用到了许多方式来加强性能以及稳定性,本文探讨的 memcpy 的汇编实现方式就是其中的一种,memcpy 的性能是否强大,拷贝延迟是否足够低都直接影响着整个系统性能。通过对拷贝函数的理解可以加深对整个系统设计的一…

ejb生命周期_EJB 3.x:生命周期和并发模型(第2部分)

ejb生命周期这是两部分系列的第二篇。 第一部分介绍了有状态和无状态EJB的生命周期以及并发行为。 我将在本文中介绍Singleton EJB 。 Singleton模式可以说是最常用(有时被滥用!)的模式。 单吨又爱它! Java EE使我们无需编写显…

JDK 14 / JEP 305模式匹配“ Smart Casts”实例

我通常将Java代码中instanceof运算符的存在视为“ 红色标志 ”,这意味着在某些情况下使用instanceof不一定是错误的,但是使用它有时表示可以以一种更干净的方式解决设计问题,如所述本文末尾引用的一些资源中的内容(包括有关Java以…

易流即时配送_即时大数据流处理=即时风暴

易流即时配送在Ubuntu背后的公司Canonical,每6个月进行一次技术工作,以第一手测试我们的工具并向其他人展示新想法。 这次,我创建了一个即时大数据解决方案,更具体地讲是“即时风暴”。 Storm现在是Apache基金会的一部分&#xf…

csp真题字符串匹配c语言,CCF CSP认证考试历年真题 模板生成系统 C语言实现

试题编号:201509-3试题名称:日期计算 时间限制:1.0s 内存限制:256.0MB问题描述:成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的。例如&…

osgi架构与linux_OSGi:进入微服务架构的门户

osgi架构与linux在构建可扩展,可靠的分布式系统的背景下,“模块化”和“微服务体系结构”这两个术语如今经常出现。 众所周知,Java平台本身在模块化方面很弱( Java 9将通过交付Jigsaw项目来解决此问题),这为…

引入我们全新的YouTube频道进行视频课程编程

嘿,极客们, 收到社区的反馈并紧贴行业发展趋势,我们非常高兴宣布推出全新的Youtube频道 ! 在我们的频道上,我们将主持与Java编程有关的视频课程,但通常也会进行软件开发。 我们将介绍代码演练以及完整的…

田忌赛马c语言程序设计,还是杭电1052田忌赛马

已结贴√问题点数:20 回复次数:2还是杭电1052田忌赛马//昨天那个算法漏洞挺大,但我重新构思了,但运行到312ms还是wa了。我测试了许多数据,结果是对的,郁闷了,谁能救救我啊?#include&…

启动jboss_3种启动JBoss BPM流程的基本方法

启动jboss这一集提示和技巧将帮助您了解根据需要启动流程实例的最佳方法。 规划项目可能包括流程项目,但是您是否考虑过可以启动流程的各种方式? 也许您的JBoss BPM Suite在您的体系结构中本地运行,也许您在云中运行,但是无论它…

c语言中rand()%900,c语言 n=rand()%5是什么意思

rand()函数会产生范围为0至32767的随机数,% 让它与5求余,变成0至4的随机数,不过每次启动程序产生的随机数都相等,在用srand(unsigned int)输入种子数后产生的才不一样,一般都用的 srand((unsigned int)time(NULL)) 产生…

c语言malloc calloc,C语言内存管理:malloc、calloc、free的实现

任何一个对C稍稍有了解的人都知道malloc、calloc、free。前面两个是用户态在堆上分配一段连续(虚拟地址)的内存空间,然后可以通过free释放,但是,同时也会有很多人对其背后的实现机制不了解。这篇文章则是通过介绍这三个函数,并简单…

c语言怎么循环输入单个字符,c语言 帮我检查一下 输入一段文字,每行用回车结束,文字输入完毕可以使用某个特殊字符作为结束,...

c语言 帮我检查一下 输入一段文字,每行用回车结束,文字输入完毕可以使用某个特殊字符作为结束,0HIDE152019.04.28浏览4次分享举报c语言输入一段文字,每行用回车结束,文字输入完毕可以使用某个特殊字符作为结束&#xf…

gradle发布jar_使用Gradle将JAR工件发布到Artifactory

gradle发布jar因此,我浪费了一两天(只是投资)来了解如何使用Gradle将JAR发布到本地运行的Artifactory服务器。 我使用Gradle Artifactory插件进行发布。 我迷失在无穷循环中,包括各种版本的各种插件和执行各种任务。 是的&#xf…

最新的20多个JMS面试问答(2020)

快速浏览JMS(Java消息服务)常见问题面试问题和答案。 2020年以来的最新问题已添加到列表中。 1.简介 在本教程中,我们将了解2020年常见的JMS面试问题。作为面试的一部分,如果您有6年以上的经验,就有机会在JMS领域提出…