【发布时间】:2017-08-18 17:48:04
【问题描述】:
我正在尝试编写一个代码,允许我收集打印到输出控制台的所有运行时消息。例如,当我的应用程序运行时,有时会弹出这些异常,我想收集它们并将它们打印为我的应用程序中的字符串。这是我的意思的图片。
有人可以帮我解决这个问题吗?
【问题讨论】:
标签: java runtime runtime-error outputstream runtimeexception
我正在尝试编写一个代码,允许我收集打印到输出控制台的所有运行时消息。例如,当我的应用程序运行时,有时会弹出这些异常,我想收集它们并将它们打印为我的应用程序中的字符串。这是我的意思的图片。
有人可以帮我解决这个问题吗?
【问题讨论】:
标签: java runtime runtime-error outputstream runtimeexception
您可以将控制台输出存储到文件中:
PrintStream out = new PrintStream(new FileOutputStream("output.txt"));
System.setErr(out);
此外,您还可以借助 Java 日志框架。
【讨论】:
System.setErr(...)设置System#err在这里会更合适。
我不知道你为什么需要这个,但你可以这样做
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 对象做任何您想做的事情。你可以做更多的调整来满足你的需要
【讨论】: