【问题标题】:Log4j properties to non-admin rights needed file in WindowsWindows 中非管理员权限所需文件的 Log4j 属性
【发布时间】:2012-01-09 16:52:55
【问题描述】:

我使用 log4j 进行日志记录,我有两个 log4j.properties 文件,一个用于记录到标准输出(用于开发),另一个用于记录到文件(生产)。

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

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

System.getProperty("user.home")

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

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

【问题讨论】:

    标签: java jakarta-ee configuration permissions log4j


    【解决方案1】:

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

    【讨论】:

    • 这样很简单,日志文件不是给用户的,它是用于崩溃/错误报告的,所以用户不需要知道日志文件存在(除非他想看它)
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      • 2017-02-05
      • 1970-01-01
      • 1970-01-01
      • 2021-06-27
      • 1970-01-01
      • 2011-11-29
      相关资源
      最近更新 更多