java string转elements_Java异常堆栈信息转String

平时使用e.getMessage()或e.printStackTrace();

第一种报异常时要throw new RuntimeException("异常"),只能得到异常2字.

第二种e.printStackTrace();只是打印,不返回任何数据.

而服务器一般是集群或其他方式部署,查看日志的话太麻烦,可以吧堆栈信息转成String等类型,然后进行保存到数据库、放在页面隐藏域中方便查看.

介绍3种方法供选择:

方法一:

package name.xu;public class CallStack {    public static void printCallStatck() {

Throwable ex = new Throwable();

StackTraceElement[] stackElements = ex.getStackTrace();

if (stackElements != null) {

for (int i = 0; i 

System.out.print(stackElements[i].getClassName()+"/t");

System.out.print(stackElements[i].getFileName()+"/t");

System.out.print(stackElements[i].getLineNumber()+"/t");

System.out.println(stackElements[i].getMethodName());

System.out.println("-----------------------------------");

}

}

}

}

方法二:

Exception e = new Exception("this is a log");

e.printStackTrace();

方法三:

String fullStackTrace = org.apache.commons.lang.exception.ExceptionUtils.getFullStackTrace(e)

方法四:

Thread.currentThread().getStackTrace()

个人推荐,方法一,原因:简单易用,速度快

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值