logger("错误信息:"+e); 
StackTraceElement[] trace = e.getStackTrace();
for(int i=0;i<trace.length;++i){
  logger(trace[i]);
}

解决方案 »

  1.   

    PrintWriter out=new PrintWriter(new FileWriter("file.txt",true));
    e.printStackTrace(out);
    out.close();
    不知道楼主是不是这个意思~~
      

  2.   

    to kingfish(八百里秦川@龙城异客) 
    我想知道为什么直接
    logger(trace); 会是Ljava.lang.StackTraceElement;@5cda3f ,难道是应为有长度限制?
    logger(trace[i]);可以,但是一条信息分很多次记录(每次有时间等),看起来很不方便。
      

  3.   

    因为trace是数组,它的toString会打印地址5cda3f,而不是内容你可以对信息定义格式,如String s="";
    for (int i = 0; i < trace.length; ++i) {
      s += trace[i].toString() + "\r\n";
    }
    logger(s);