Java 日志文件的良好位置(windows)

Java 日志文件的良好位置(windows),java,windows,logging,applet,java-web-start,Java,Windows,Logging,Applet,Java Web Start,我很好奇在windows上哪里是存储日志文件的好位置。 假设我有一个webstart或一个小程序应用程序,因此它们实际上没有启动的位置(没有安装目录)。因此,在这种情况下,我应该将程序创建的日志文件存储在何处,而不会造成干扰,也不会将大量垃圾倾倒在可以看到所有数据的地方 我以前从未做过这样的事情,但我现在很好奇,真的很想听听一些想法或建议 提前感谢任何人的帮助 快速编辑:假设我完全可以使用任何可用的日志框架或系统(对于java),是的,假设用户有权在其帐户中存储内容(但不是普通用户或任何其他与系

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

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

提前感谢任何人的帮助


快速编辑:假设我完全可以使用任何可用的日志框架或系统(对于java),是的,假设用户有权在其帐户中存储内容(但不是普通用户或任何其他与系统相关的地方).

如果您没有任何安全约束,并且您的webstart或小程序应用程序可以访问文件系统,则可以使用
$(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,从而获得根目录。一旦获得根目录,您可以转到文件系统中的任何位置

您正在使用的日志框架是什么。java web start中的小程序和应用程序甚至可以访问用户的文件系统,而无需增强安全权限吗i、 e.签署代码并要求用户提升相关应用程序的访问权限?这是一个有趣的问题,但最终还是相当主观的。对于不同的论坛可能更好。你建议我在哪里问这个问题?我认为这是个好主意,但我认为最好使用
$(user.home)
下的子目录。这样会更容易找到,其他程序也不太可能破坏它。@tieTYT谢谢,我完全同意你的意见,用户可以在之后附加他选择的任何位置。有没有办法也使子目录成为隐藏文件夹?这样,当用户想在家中查找其他文件夹时,它就不会向用户发起攻击。如果您想隐藏文件夹,可以在@Quillion上查看解决方案,如果满足您的需要,请接受答案。