Java e.printStackTrace()异常信息怎么打印到log日志中

Java e.printStackTrace()异常信息怎么打印到log日志中Java e.printStackTrace()异常信息怎么打印到log日志中

大家好,又见面了,我是你们的朋友全栈君。

最近工作遇到一个问题是测试环境服务器上的日志打印不出错误出现在第几行,尤其是在出现反射或代理等的情况下使用e.getStackTrace方法不能打印出错误类型和错误行数。但是在控制台使用e.printStackTrace()却能打印出错误类型或错误行数,如空指针。

但是e.printStackTrace()方法只能使用在控制台中,那么我就想怎么把e.printStackeTrace的栈信息打印到日志中呢?

百度了一圈最后找到一位博友的方法很好:https://blog.csdn.net/hongweigg/article/details/18313461

ByteArrayOutputStream baos = new ByteArrayOutputStream();		
e.printStackTrace(new PrintStream(baos));
String exception = baos.toString();	
System.out.println("baos:" + exception);

这里使用了文件流,等同于把e.printStackTrace()的内容打印到一个文件中,然后再把内容付给一个字符串,最后就可以把logger.error(exception)把错误内容打印到日志上了。

这位网友也说明:

Exception.printStrackTrace()中虽然有出错点信息,但都打到控制台上去了,Exception.getStackTrace(),并不能获得出错点的提示信息。

        一个应对办法就是捕获e.printStrackTrace()输出, 使用e.printStackTrace(PrintStream)方法,将异常栈信息先输出到ByteOutputStream ,然后再将ByteOutputStream 转换为字符串,就获得了异常的完整输出。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106033.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 单片机中步进电机c语言程序,用AT89C51单片机控制步进电机的汇编源程序

    单片机中步进电机c语言程序,用AT89C51单片机控制步进电机的汇编源程序下面程序完成的主要功能:实现步进电机的正反转,加速、减速;显示电机转速(转速级别)和工作状态(正转、反转、不转)。源程序SPEEDEQU10H;SPEED为转速等级标志,共7级,即1~7FXEQU11H;FX为方向标志COUNTEQU12H;COUNT中断次数标志ORG0000HAJMPMAINORG0003H;外部中断0入口地址,加速子程序AJMPUPORG001…

    2022年5月18日
    39
  • 数据分析师面试准备

    数据分析师面试准备数据分析师面试准备惊醒。突然发现再要一个月就要过年了,过了年再过个两周就三月了。三月……又到了招聘季。

    2022年6月3日
    39
  • SVM解释:五、SMO算法

    SVM解释:五、SMO算法SMO算法是JohnC.Platt在1998年提出的。论文的题目是”SequentialMinimalOptimization:AFastAlgorithmforTrainingSupportVectorMachines”。它很快便成为最快的二次规划优化算法,特别是在针对线性SVM和数据稀疏时性能更优。当然了,SMO优越性能的背后是其相当复杂的数学推导,所以,我也把这块最…

    2022年6月24日
    25
  • kali linux 使用教程_kali linux安装软件

    kali linux 使用教程_kali linux安装软件kali-linux激活成功教程wif密码教程kali-linux激活成功教程wif密码教程一.需要准备:(1)安装VMwareWorkstation虚拟机。(2)安装kali-linux系统。(3)准备网卡二.开始激活成功教程(1)插上无线网卡(2)输入ifconfig查看网卡信息,出现wlan0说明连接成功(3)输入airmon-ngstartwlan0开启网卡监听模式(4)输入iwconfig命令查看网卡信息(5)输入airodump-ngwlan0mon(6)数据抓取===操作步骤===(7)解压kali自带的字

    2022年10月8日
    3
  • 分时系统1_属于分时系统的是

    分时系统1_属于分时系统的是分时系统:是个多道系统在给每一个任务执行的时候是按一定的时间进行的,时间到了直接切换下一个作业类似于交互系统任务多了会有切换时间,类似于中断进而要减少中断时间终断多了的,系统开销大多道批处理

    2022年8月2日
    6
  • OAI搭建总结_网站搭建步骤

    OAI搭建总结_网站搭建步骤我是参考网上的方法:oai搭建之eNB的文章,接下来就根据自身所遇到的问题再这里总结一下步骤:一、再官网上下载oai的文件openairinterface5g-master.zip二、编译的过程

    2022年8月4日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号