将stacktrace打印到文件中

时间:2014-06-04 08:23:49

标签: java logging

我有这个错误堆栈跟踪方法,它发送到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()));
        }

我用这种方式修改了代码。

1 个答案:

答案 0 :(得分:1)

e.printStackTrace()方法也需要PrintWriter或PrintStream argumument,所以如果你的lm对象有一个OutputStream,你应该能够做到

e.printStackTrace(new PrintStream (lm.getOutputStream ()));