2012-01-09 27 views
2

我使用log4j进行日志记录,并且我有两个log4j.properties文件,一个用于记录到stdout(用于开发),另一个用于登录到文件(制作)。将Log4j属性设置为非管理员权限所需文件在Windows中

在这种情况下,用户将在没有管理员权限的情况下在Windows 7 x86上运行该程序,因此我猜测日志操作无法完成,因为我的日志文件位于安装文件夹(C:\Program Files\...)中。

我想到的第一个解决方案是在用户文件夹中有日志文件(C:\User\%Name%)。我知道,我可以得到该文件夹​​与编程:

System.getProperty("user.home") 

,但我怎么能得到这个属性在Java .properties文件,在这种情况下log4j.properties

然后我想到有一个templatelog4j.properties带有标记的区域来替换用户文件夹路径,但我想避免那个。

回答

0

一些google搜索后,我找到了答案:

您可以使用使用${NAME}一个.properties文件(至少log4j.properties)内的每个虚拟机性能。 Here's an example

0

为什么不将默认日志记录位置设置为您可以访问知道的位置,并允许用户在需要时将其放置在其他位置?

+0

这很容易,日志文件不是用户的,它是用于崩溃/错误报告,所以用户不需要知道日志文件存在(除非他想看到它) – rnunes 2013-03-12 10:56:30