Windows中的Log4j属性为非管理员权限所需文件

时间:2012-01-09 16:52:55

标签: java java-ee configuration permissions log4j

我正在使用log4j进行日志记录,我有两个log4j.properties文件,一个用于登录到stdout(用于开发),另一个用于登录到文件(生产)。

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

我想到的第一个解决方案是将日志文件放在用户文件夹(C:\User\%Name%)中。我知道我可以通过以下方式以编程方式获取该文件夹:

System.getProperty("user.home")

但是如何在Java .properties文件中获取该属性,在本例中为log4j.properties

然后我考虑让templatelog4j.properties区域标记为替换用户文件夹路径,但我想避免使用该区域。

2 个答案:

答案 0 :(得分:0)

为什么不将日志记录位置默认为您知道的地方,并允许用户将其放在其他地方?如果愿意的话?

答案 1 :(得分:0)

经过一番谷歌搜索后,我找到了答案:

您可以使用.propertieslog4j.properties文件(至少${NAME})中使用每个VM属性。 Here's an example