0

我正在尝试在 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);

项目文件资源管理器

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

4

1 回答 1

1

尝试下一个:

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.Log4jConfigListenerweb.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>
于 2013-10-21T16:25:05.970 回答