3

我很好奇在 Windows 上存储日志文件的好位置。假设我有一个 webstart 或一个 applet 应用程序,因此实际上没有启动它们的位置(没有安装目录)。因此,在这种情况下,我应该将程序创建的日志文件存储在哪里,而不会造成干扰,或者在可以看到所有数据的地方倾倒大量垃圾。

我以前从来没有做过这样的事情,但我现在很好奇,真的很想听听一些想法或建议。

感谢任何人提前提供帮助。

快速编辑:假设我绝对可以使用任何可用的日志框架或系统(用于 java),是的,假设用户有权在他的帐户中存储东西(但不是普通用户或任何其他系统相关的)。

4

1 回答 1

4

如果您没有任何安全约束并且您的 webstart 或 applet 应用程序可以访问文件系统,那么您可以使用$(user.home)系统属性。

它将允许应用程序将日志文件存储在用户主目录中,并且独立于操作系统。

例如我正在使用 Log4j,这是我的 log4j.property 文件的配置

log4j.appender.F.File=${user.home}/app.logs

如果您使用默认 java 日志记录,那么您仍然可以获取此系统属性并将其指定为日志文件位置。

$(user.home)如果要将日志存储在子目录中,还可以在之后附加任何位置。

例如

log4j.appender.F.File=${user.home}/logs/application.log

修正案:

如果您不想在主目录中存储任何内容,则可以通过使用 getParent 向上导航来获取根目录,直到返回 null ,一旦您拥有根目录,您就可以转到文件系统中的任何位置

于 2013-05-23T17:57:13.563 回答