【发布时间】:2016-08-01 13:13:49
【问题描述】:
我有一个与硬件交互的控制台应用程序。 我的想法是使用堆栈跟踪记录所有异常,这样有价值的信息就不会因为没有文件管道而丢失。
但是如何处理那个文件的位置呢? 我不能每次都问路径。
这就是为什么我想把文件放在可执行文件旁边。 但不能确定应用程序将驻留在哪里。 而且我还没有找到“如何获取应用程序路径”的明确答案
I found:new java.io.File("").getAbsolutePath();
但没有解释这是如何工作的。
And:getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
但是操作人员说这只有可能有效。
是否有另一种方法来处理错误记录/获取应用程序路径的可靠方法?
【问题讨论】:
-
如何使用标准日志框架之一并遵循他们的文档。你可以试试例如slf4j 和 logback 的组合以及后者的配置将定义日志的去向、文件、elasticsearch 实例或终端。如果你然后去寻找一个文件,这可以是绝对或相对位置...
-
应用程序或当前目录的相对路径?
-
这将是您使用的特定日志记录框架的问题。关于 logback,以下答案将有所帮助:stackoverflow.com/questions/16480052/…
-
请制定一个完整的答案,你会得到我的投票=)
标签: java exception-handling io