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,一经查实,立即删除!

相关文章

oracle定时关闭job,Oracle 定时JOB

讲一下Oracle创建临时job小窍门,创建Oracle临时JOB是为了临时执行调用过程或者函数,只调用一次。1、创建Oracle临时jobdeclareVJOB number;beginsys.dbms_job.submit(VJOB,‘PKG_RULECALL.MAKE_ALL_SAMPLE_BY_MONTH_WTH(‘‘201701‘‘,NULL);‘,Sysdat…

Apache Camel 3.2 – Camel的无反射配置

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

oracle dbwr trace文件,ORA-01157: cannot identify/lock data file 19 - see DBWR trace file问题处理...

ORA-01157: cannot identify/lock data file 19 - see DBWR trace file问题处理告警信息:ORA-01157: cannot identify/lock data file 19 - see DBWR trace fileORA-01110: data file 19: /app/Oracle/oradata/users02.dbfORA-27037: unable to obtain file statusS…

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

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

linux 命令解码空格,Shell 编程:Bash空格的那点事

先了解下bash中什么时候该用空格,什么时候不该用。1. 等号赋值两边不能有空格2. 命令与选项之间需要空格3. 管道两边空格可有可无我们来看看常见的问题1. 赋值时等号两边或者只有左边多了空格igigentoo ~ $ var1 testbash: var1: command not foundigigentoo ~ $ e…

使用类似Lambda的语法切换为Java中的表达式

从Java 14开始, switch表达式具有额外的Lambda式 ( case ... -> labels )语法,它不仅可以用作语句,还可以用作计算为单个值的表达式。 使用新的类似Lambda的语法,如果标签匹配,则仅执行箭头…

配置linux系统ip,Linux系统IP地址配置

命令临时配置ifconfig [Network card name] 10.50.6.16 netmask 255.255.254.0或者ip addr add 10.50.6.200/23 dev [Network card name]router add default gw 10.50.6.1 #添加默认路由重启后失效ip addr add命令添加的IP地址需要使用 ip a show [Network card name]命令查看例…

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

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

超音速亚原子Enterprise Java

我创建了一个视频,其中用Quarkus(用于现代Java应用程序的运行时)解释“超音速亚原子Java”。 无论您是刚开始涉足Enterprise Java领域,还是已经是一位经验丰富的Java EE / J2EE开发人员,本课程都将指导您如何在2020年构…

linux 打包排除多个目录,tar打包整个目录(可排除子目录)几种方法

例1。压缩并打包目录tar -czf small.tar.gz small(目录名) ;例2。tar zcvf backup.tar.gz site/* –excludesite/attach –excludesite/images简单解释一下:ls -l | grep “^-” 用来把当前目录下所有文件列出来,不包括子目录;awk ‘{print …

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

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

linux系统io查看计算,Linux下查看进程IO工具iopp

Linux下的IO检测工具最常用的是iostat,不过iostat只能查看到总的IO情况。如果要细看具体那一个程序点用的IO较高,可以使用iotop 。不过iotop对内核版本和Python版本有要求,虽然目前主流的CentOS和Ubuntu版本上都适用。不过考虑到其无法适用的…

java 并发锁_Java并发教程–锁定:内在锁

java 并发锁在之前的文章中,我们回顾了在不同线程之间共享数据的一些主要风险(例如原子性和可见性 )以及如何设计类以安全地共享( 线程安全的设计 )。 但是,在许多情况下,我们将需要共享可变数据…

linux 命令 ppt,Linux基本命令()讲解.ppt

第2章 Linux 基本命令 2.1 系统管理命令 在 Linux/UNIX 操作系统中,所有事物都被当作文件来处理:硬件设备(包括键盘和终端)、目录、命令本身,当然还有文件。 实际上是 Linux/UNIX 的能力和灵活性的基础。Linux操作系统命令分为文件管理、文件…

Java14:使用Java 14的新记录联接数据库表

您是否知道可以使用Java 14的预览记录功能将数据库表连接到Java Stream中? 阅读这篇简短的文章,并了解如何使用Speedment Stream ORM完成它。 我们将从如何设置您的项目开始。 设定 下载Java 14 。 转到Speedment Initializer并下载您的项目骨架&#x…

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数字设定法设定权限,Linux chmod命令详解和使用实例(改变文件或目录的访问权限)...

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。…

Java 8 Stream中间操作(方法)示例

Java 8 Streams中间操作的完整指南。 所有内置Stream API中间操作(方法)的列表以及示例。 1.概述 在本教程中,我们将学习什么是 Java 8 Stream 中的中间操作 。 所有这些操作都在java.util.stream.Stream包中 。 在上一教程中,我…

linux服务 运维案例,linux运维实战练习案例-2015年12月20日-12月31日

1、创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至单独数据/data目录;[[email protected] /]# cat /proc/partitionsmajor minor #blocks name8 0 52428800 sda8 1 204800 sda18 2 4096000 sda28 …