将execption的信息记入日志

最近遇到的一个问题:

如何将exception的具体内容记入到日志中,虽然有e.getMessage()但是还是满足不了需求,当错误发生的时候无法定位到code抛出异常的具体位置。

 

以前用得下面这个方法,但是并不能将printStackTrace输出的内容记入日志,于是goole了下,有答案了。

e.printStackTrace();
log(e.getMessage());

 

 

例子:

 public static String getTrace(Throwable t) {
         StringWriter stringWriter= new StringWriter();
         PrintWriter writer= new PrintWriter(stringWriter);
         t.printStackTrace(writer);
         StringBuffer buffer= stringWriter.getBuffer();
         return buffer.toString();
     }
     
     public static void main(String[] args)
     {
       
              try{
               byte[] a=args[0].getBytes();
              
              }catch (Exception ex){
                String log = "log/mytest.txt";
               ex.printStackTrace();
                 SystemLog.log(log, getTrace(ex));
                }
               }

 

具体内容如下:

[time]:2011-06-08 17:54:25[message]:java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
    at SystemLog.main(SystemLog.java:79)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惹不起的程咬金

来都来了,不赏点银子么

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值