Java日志出现异常,但没有完整的堆栈信息

最近生产机器出现了NullPointException, 但是并没有给出详细的堆栈信息,这让大家很郁闷,一开始以为是日志工具配置有问题,结果同样的配置其他机器却是正常的,

在网上找了几篇文章这篇虽然尝试可以解决问题,但是没搞懂究竟为什么这样设置,改动JVM默认配置是需要很大的勇气的哦。。。

然后在stackoverflow上找到了这个答案,这个被采纳的答案里有个得票率最高的链接,点这里

看了大半天终于搞明白了题主的意思了,

不打印异常堆栈日志是因为JVM在多次遇到同一异常信息时,前几次会输出堆栈信息,后面就会主动优化掉,只反馈异常摘要信息,

所以说我们只要往上翻翻以前的日志就可以看到该异常的具体信息,无需再设置JVM参数: -XX:-OmitStackTraceInFastThrow 或 -Xint参数了

原文地址:https://www.cnblogs.com/yeqfa/p/10116024.html

时间: 2024-10-21 02:51:31

Java日志出现异常,但没有完整的堆栈信息的相关文章

点评阿里JAVA手册之异常日志(异常处理 日志规约 )

下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:异常处理 日志规约 本文难度系数为一星(★) 本文为第三篇 第一篇 点评阿里JAVA手册之编程规约(命名风格.常量定义.代码风格.控制语句.注释规约) 第二篇 点评阿里JAVA手册之编程规约(OOP 规约 .集合处理 .并发处理 .其他) 码出高效.码出质量. 代码的字里行间流淌的是软件生命中的血液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升质量意识

3.3 java基础总结①异常②自定义异常

①异常②自定义异常 一.Java中问题概述一般来说有个2/8原则,一个程序员80% 的精力在处理20%可能发生异常的代码Java中问题分为错误(Error)和异常(Exception) 错误:不能用代码解决的问题,往往是环境或者硬件的问题异常:可通过修改代码或者预处理来解决的不正确情况,称为异常 异常分为编译期异常和运行时异常,如果抛编译异常,语法上调用者必须处理或往上抛:抛运行时异常,调用者可不往上抛 Java里边结束的3中方式:①正常执行完②return返回③发生异常,没有处理,强制结束都是

用JAVA日志来写诗

工欲善其事,必先利其器 很多程序员可能都忘了记录应用程序的行为是一件多么重要的事,当遇到多线程环境下高压力导致的并发bug时,你就能体会到记录log的重要性. 有的人很高兴的就在代码里加上了这么句: log.info("Happy and carefree logging"); 他可能都没有意识到应用程序的日志在维护,调优和故障识别中的重要性.我认为slf4j是最好的日志API,最主要是因为它支持一个很棒的模式注入的方式: log.debug("Found {} record

Java日志规范

前言 一个在生产环境里运行的程序如果没有日志是很让维护者提心吊胆的,有太多杂乱又无意义的日志也是令人伤神.程序出现问题时候,从日志里如果发现不了问题可能的原因是很令人受挫的.本文想讨论的是如何在Java程序里写好日志. 一般来说日志分为两种:业务日志和异常日志,使用日志我们希望能达到以下目标: 对程序运行情况的记录和监控: 在必要时可详细了解程序内部的运行状态: 对系统性能的影响尽量小 Java日志框架 Java的日志框架太多了... Log4j 或 Log4j 2 - Apache的开源项目,

Java日志记录的事儿

一.java日志组件 1.common-logging common-logging是apache提供的一个通用的日志接口.用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, common-logging会通过动态查找的机制,在程序运行时自动找出真正使用的日志库.但由于它使用了ClassLoader寻找和载入底层的日 志库, 导致了象OSGI这样的框架无法正常工作,由于其不同的插件使用自己的ClassLoader. OSGI的这种机制保证了插件互相独立,

[z]Java日志,需要知道的几件事(commons-logging,log4j,slf4j,logback)

一.    概念 Commons-logging:apache最早提供的日志的门面接口.避免和具体的日志方案直接耦合.类似于JDBC的api接口,具体的的JDBC driver实现由各数据库提供商实现.通过统一接口解耦,不过其内部也实现了一些简单日志方案. Log4j:经典的一种日志解决方案.内部把日志系统抽象封装成Logger.appender.pattern等实现.我们可以通过配置文件轻松的实现日志系统的管理和多样化配置. Slf4j: 全称为Simple Logging Facade fo

Java日志,需要知道的几件事(commons-logging,log4j,slf4j,logback)

转自:http://blog.csdn.net/kobejayandy/article/details/17335407 如果对于commons-loging.log4j.slf4j.LogBack等都已经非常清楚了,可以忽略本文.几次解决日志冲突问题时对这几个概念的简单总结,希望对这块基础没有理解透的同学能有所帮助,当然如果对这块有更深刻理解的同学,也贡献出自己的知识和见解. 一.    概念 Commons-logging:apache最早提供的日志的门面接口.避免和具体的日志方案直接耦合.

Java 日志框架终极教程

概述 对于现代的 Java 应用程序来说,只要被部署到真实的生产环境,其日志的重要性就是不言而喻的,很难想象没有任何日志记录功能的应用程序被运行于生产环境中.日志 API 所能提供的功能是多种多样的,包括记录程序运行时产生的错误信息.状态信息.调试信息和执行时间信息等.在生产环境中,日志是查找问题来源的重要依据,应用程序运行时的产生的各种重要信息,都应该通过日志 API 来进行记录. 很多Java开发人员习惯于使用 System.out.println.System.err.println 以及

Java-最常用的Java日志框架整理

前言 Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在运行维护阶段,日志系统又可以帮我们记录大部分的异常信息,从而帮助我们更好的完善系统.本文要来分享一些Java程序员最常用的Java日志框架组件.1.log4j – 最受欢迎的Java日志组件 Log4j是一款基于Java的开源日志组件,Log4j功能非常强大,我们可以将日志信息输出到控制台.文件.用户