我有这个错误堆栈跟踪方法,它发送到log4j错误消息:
public void writeErrorStackMessage(String message)
{
log.error(message);
}
我还想将堆栈跟踪的打印添加到文件中。
catch (Exception e)
{
lm.writeErrorStackMessage(e.printStackTrace());
}
问题是将错误堆栈作为消息发送的正确方法是什么?
编辑:
public void writeErrorStackMessage(String message)
{
log.error(message);
}
catch (Exception e)
{
lm.writeErrorStackMessage(Arrays.toString(e.getStackTrace()));
}
我用这种方式修改了代码。
答案 0 :(得分:1)
e.printStackTrace()
方法也需要PrintWriter或PrintStream argumument,所以如果你的lm
对象有一个OutputStream,你应该能够做到
e.printStackTrace(new PrintStream (lm.getOutputStream ()));