执行双击的 Java jar 文件时的输出流



您好,在遵循此处的建议后 在Windows上运行JAR文件,每当我在Windows中双击它时,我都设法执行我的.jar应用程序(它是一个JFrame应用程序)。

但是,当发生某些异常时,我会e.printstackTrace();并向 UI 生成自定义错误消息。当我从命令提示符启动".jar"文件时,标准错误流是控制台。我的问题是,当我通过双击运行.jar时,异常跟踪会去哪里?

这是一个"玩具"应用程序,所以我想避免日志记录机制 - 我只需要一个地方来转储所有异常跟踪以供以后调试。

谢谢。

我的问题是,当我通过双击运行.jar时,异常跟踪会去哪里?

无处。基本上,它无处去 - 没有附加控制台。您可能希望找到用户的主目录并在那里放置一个日志文件,或类似的东西。

(与其使用e.printStackTrace(),我建议使用适当的日志记录框架,无论是log4j,java.util.logging还是其他什么。您说您不想要日志记录机制,但是"一个转储所有异常跟踪以供以后调试的地方"对我来说听起来像日志记录......

你的 Exception stackTrace 无处可去。如果您直接双击 jar,则没有任何附加内容。

转储所有异常跟踪@一个位置的最佳方法是使用日志记录API。例如 Log4j, slf4j.它们提供了适当的框架,您可以使用它设置正确的文件名、它们的目的地、放置的内容,即 degug、错误、警告;此外,您可以限制文件大小并决定其存在期限。

最新更新