更改 log4j.properties 的位置

2022-08-31 16:38:27

我想将所有配置文件放在应用程序目录的子文件夹中。Log4j 需要我的应用程序的根文件夹中的 log4j.properties 文件。有没有办法告诉log4j在哪里可以找到属性文件?/config


答案 1

是,定义属性log4j.configuration

java -Dlog4j.configuration=file:/path/to/log4j.properties myApp

请注意,该属性值必须是 URL。

有关详细信息,请阅读Log4j手册中的“默认初始化过程”部分。


答案 2

您可以使用 PropertyConfigurator 加载 log4j.properties,无论它位于磁盘中的哪个位置。

例:

Logger logger = Logger.getLogger(this.getClass());
String log4JPropertyFile = "C:/this/is/my/config/path/log4j.properties";
Properties p = new Properties();

try {
    p.load(new FileInputStream(log4JPropertyFile));
    PropertyConfigurator.configure(p);
    logger.info("Wow! I'm configured!");
} catch (IOException e) {
    //DAMN! I'm not....

}

如果您有 XML Log4J 配置,请改用 DOMConfigurator


推荐