Log4j日志文件存放到项目目录下

方法一:直接在log4j配置中写绝对路劲


方法二:新建一个ServletContextListener的实现类Log4jConfigListener,Log4jConfigListener做:

[java] view plaincopy在CODE上查看代码片

String path = Environment.class.getResource("").getPath();  
String webAppPath = path.substring(0, path.toUpperCase().lastIndexOf("WEB-INF/")).replaceAll("%20", " ");  
System.setProperty("webapp",webAppPath + "logs/log.log");


在log4j配置中:

[plain] view plaincopy在CODE上查看代码片

log4j.appender.A2.File=${webapp}/logs/log.log



方法三(跟Spring集成):在web.xml中配置

[html] view plaincopy在CODE上查看代码片

<context-param>  
        <param-name>webAppRootKey</param-name>    
        <param-value>webapp.root</param-value>    
    </context-param>   
    <context-param>  
                <param-name>log4jConfigLocation</param-name>  
                <param-value>/WEB-INF/config/log4j.properties</param-value>  
    </context-param>   
    <context-param>  
                <param-name>log4jRefreshInterval</param-name>  
                <param-value>6000</param-value>  
    </context-param>  
    <listener>  
             <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
    </listener>


然后在log4j中用上述配置的webAppRootKey对应的值

[plain] view plaincopy在CODE上查看代码片

log4j.appender.file.File=${webapp.root}/WEB-INF/logs/log.log



你可能感兴趣的:(Log4j日志文件存放到项目目录下)