我正在使用log4j进行日志记录,我有两个log4j.properties
文件,一个用于登录到stdout(用于开发),另一个用于登录到文件(生产)。
在这种情况下,用户将在没有管理员权限的情况下在Windows 7 x86上运行该程序,因此我认为无法完成日志记录操作,因为我的日志文件位于安装文件夹(C:\Program Files\...
)中。
我想到的第一个解决方案是将日志文件放在用户文件夹(C:\User\%Name%
)中。我知道我可以通过以下方式以编程方式获取该文件夹:
System.getProperty("user.home")
但是如何在Java .properties
文件中获取该属性,在本例中为log4j.properties
?
然后我考虑让templatelog4j.properties
区域标记为替换用户文件夹路径,但我想避免使用该区域。
答案 0 :(得分:0)
为什么不将日志记录位置默认为您知道的地方,并允许用户将其放在其他地方?如果愿意的话?
答案 1 :(得分:0)
经过一番谷歌搜索后,我找到了答案:
您可以使用.properties
在log4j.properties
文件(至少${NAME}
)中使用每个VM属性。 Here's an example