请问能否把程序运行时出现的异常堆栈信息也保存进log4j指定的日志文件中

请教能否把程序运行时出现的错误堆栈信息也保存进log4j指定的日志文件中?
比如在程序运行时出现运行期错误,在控制台窗口中会打印出如下的错误堆栈信息: 
Exception   in   thread   "main "    java.lang.ArithmeticException :   /   by   zero 
at   DES.main(DES.java:43) 

我在log4j的配置文件中指定日志输出级别为debug,在程序运行时出现的运行期错误日志只能显示在控制台窗口中,有什么办法能同时把它们输出到log4j指定的日志文件中?(现在的日志文件只能得到诸如log.debug()、log.error()等输出的日志,而得不到运行期错误堆栈日志) 

我知道通过诸如: 
try{ 
... 
}   catch   (Exception   e)   { 
log.debug(e); 

的方式也行,但这样太麻烦了,不可能在所有代码中都要写这样的语句,有没有简单的方法。 


------解决方案--------------------
try{ //重定向輸出流 
PrintStream ps = new PrintStream(logPath); 
//System.setOut(ps); 
System.setErr(ps); 
}catch (FileNotFoundException e) { 
e.printStackTrace(); 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值