java将错误信息写入文件
第一种办法可以通过字符串,也就是先把错误信息写入字符串,再将字符串写入文件
import java.io.*; public class Demo { public static void main(String[] args) throws Exception{ try{ throw new Exception(); }catch(Exception e){ StringWriter writer = new StringWriter(); e.printStackTrace(new PrintWriter(writer)); String eInfo = writer.toString(); System.out.println(writer.toString()); File file = new File("D:\\log.txt"); if(!file.exists()){ file.createNewFile(); } PrintStream printer = new PrintStream(new FileOutputStream(file)); printer.println(writer.toString()); } } }
e.printStackTrace 有三个重构函数,第一个是无参数,默认是打印在 System.err 打出来是红色的,如果想要打印成黑色的,e.printStackTrace(System.out);
除此之外还有一个重构是接收一个 PrintWriter
第二种实现方式,writer作为参数传给printStackTrace
e.printStackTrace(new PrintWriter(writer));