gpt4 book ai didi

java - 不同的日志位置取决于操作系统

转载 作者:行者123 更新时间:2023-11-30 08:49:53 26 4
gpt4 key购买 nike

我需要将日志文件存储在 Windows 中的 C:\.DS\logs 和 Linux 中的 /.DS/logs 中。

我找到了这样做的方法:我需要使用 System.setProperty("logs.dir", ...) 并使用 ${logs.dir} 在 log4j 配置文件中。

然而,问题是,此时 log4j 已经初始化,它没有获取我的系统属性。

有没有更直接的方法来做到这一点,而不需要我手动重新初始化 log4j?

谢谢

最佳答案

在 log4j2.xml 配置中使用属性查找

可用的系统属性 https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html

<Properties> //defined in log4j2 config
<Property name="LS">${sys:file.separator}</Property>
<Property name="LOG_DIR">partial_path${LS}partial_path${LS}</Property>
</Properties>

https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution

然后在文件路径中

<RollingFile name="FILE_LOG" fileName="${LOG_DIR}file.log"

关于java - 不同的日志位置取决于操作系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31249331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com