在java中收集输出消息

时间:2017-08-18 17:48:04

标签: java runtime runtime-error outputstream runtimeexception

我正在尝试编写一个代码,允许我收集打印到输出控制台中的所有运行时消息。例如,当我的应用程序运行时,有时弹出这些异常,我想收集它们并在我的应用程序中将它们打印为字符串。这是我的意思的图片。

Image

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

您可以将控制台输出存储到文件中:

PrintStream out = new PrintStream(new FileOutputStream("output.txt"));
System.setErr(out);

此外,您可以获得Java日志框架的帮助。

答案 1 :(得分:0)

我不知道你为什么需要这个,但你可以这样做

 List<String> errors = new ArrayList<String>();
            try {

            } catch (Exception e) {
                StackTraceElement[] stackTraceElementArr = e.getStackTrace();
                for (StackTraceElement ele : stackTraceElementArr) {
            errors.add(e.getMessage()+","+ele.getClassName()+","+ ele.getMethodName()+","+ ele.getLineNumber());
                }
            }
        }

这将帮助您将错误消息详细信息存储到字符串列表中。您可以使用List对象执行任何操作。您可以进行更多调整以满足您的需求