2 qxpat qxpat 于 2017.01.06 10:51 提问

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

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

4个回答

w172087242
w172087242   Ds   Rxr 2017.01.06 10:59

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

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

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

如果有帮助,希望采纳

w172087242
w172087242 回复little_how: log4j都打错了................
11 个月之前 回复
w172087242
w172087242 重要的忘记说了,你的思路让我陷入误区了,使用log4g或者logback就可以完美解决你的需求,还不用关系逻辑
11 个月之前 回复
u014377853
u014377853   2017.01.06 11:50

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

sun1021873926
sun1021873926   Ds   Rxr 2017.01.06 12:40

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

yanghao0
yanghao0   2017.01.06 15:27

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!