Java想把控制台输出的错误堆栈信息保存

我的思路有自己写一个Exception,或者直接保存控制台输出信息为文档。哪位能给点具体的思路??

1.申明一个文件输出流,可追加写入的
2.将文件输出流包装在PrintStream中
3.System.setErr(你申明的printstream)//设置标准错误输出流
4.调用一场的堆栈打印方法,就进入你的文件了

如果普通输出也想打印进入,那么就要设置System.setOut,标准输出流

存在问题:如果是多线程环境,那么打印信息可能混乱,所以如果害怕混乱,那么只能自己写打印信息,可以使用同步队列

如果有帮助,希望采纳

直接配置一下log4j就行,不影响项目运行,而且方便处理

logback就可以完整的解决你的问题,这些东西一般不用自己去实现的。

继承Exception,复写print,加入IO输出到txt