线程状态(运行中、等待等) 线程的栈信息 线程锁信息 堆转储信息 直接使用sum jdk自带的工具jconsole,jvisual参看堆转储文件能看到的有用信息比较少,最多能看到那种类型的数据占用内存最多。 一般是使用它们生成转储文件,然后导入到其他工具中进行进一步分析,如eclipse memory map Analyzer (mat)进行分析。 关于Mat的安...
log.error("libzone.cn exception:", e); //log.info("libzone.cn exception:", e); //log.debug("libzone.cn exception:", e); //log.fatal("libzone.cn exception:", e); } 这样,我们就可以在log日志里面看到类似于控制台(console)里面那样的异常详细信息了。 如果全部把异常详细打印出来,有可能...
另一个解决方案是不设置启动参数,直接重新启动服务器,比如Tomcat。重启服务器时jvm被重新启动,这样再遇到同样的Exception时就会打印出来,当然如果后续如果重复遇到同样的Exception还是无法打印出具体的异常栈信息。 当时我是选择了后者这个方案,因为如果启用了该参数会导致log日志太过庞大,也降低了性能,直接重启服务器,并快...
在需要打印错误堆栈信息的地方,使用Marker对象标记日志,并调用Logger的error方法。 try{// ...}catch(Exceptione){LOGGER.error(ERROR_MARKER,"An error occurred",e);} 1. 2. 3. 4. 5. 这样,当出现异常时,Logback会将错误的堆栈信息转换为字符串,并与日志一起输出。