gpt4 book ai didi

java - 使用 Java 属性的 Log4j 手动配置

转载 作者:行者123 更新时间:2023-12-01 13:58:15 24 4
gpt4 key购买 nike

我正在尝试在 Spring Web 应用程序中手动加载 log4j.properties(mylog4j.properties) 文件。该文件位于 /WEB-INF/ 下,我正在 SYPLogger 类中读取该文件,如下所示:

private static final String CONF_FILE_NAME = "mylog4j.properties";             
Properties props = new Properties();
props.load(new FileInputStream(CONF_FILE_NAME));
PropertyConfigurator.configure(props);

Project File Explorer

虽然我尝试了不同的位置,但无法读取该文件。当我给出配置文件的完整路径时,一切都正常。但上面的代码给出了FileNotFoundException(系统找不到指定的文件)。请帮忙。提前致谢。

最佳答案

尝试下一个:

String path = Thread.currentThread()
.getContextClassLoader()
.getResource("/")
.toURI()
.resolve("../mylog4j.properties")
.getPath();
Properties props = new Properties();
props.load(new FileInputStream(path));
PropertyConfigurator.configure(props);

换句话来说,你看过课吗org.springframework.web.util.Log4jConfigListener 。您可以在 web.xml 文件中配置此监听器。例如:

<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/mylog4j.properties</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>

关于java - 使用 Java 属性的 Log4j 手动配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19497844/

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