log4j配置文件读取不到的问题

confirmAname confirmAname 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<servlet>
<servlet-name>InitLog4jServlet</servlet-name>
<servlet-class>com.InitLog4jServlet</servlet-class>
<init-param>
<param-name>log4jLocation</param-name>
<param-value>WEB-INF\log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

</web-app>

InitLog4jServlet.java:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

import org.apache.log4j.PropertyConfigurator;

/**
*@author
*@date 2014-4-13
*/
public class InitLog4jServlet extends HttpServlet {

public void init() throws ServletException {
String path=this.getServletContext().getRealPath("/");
String log4jPath=path+this.getInitParameter("log4jLocation");
System.out.println(log4jPath);
PropertyConfigurator.configure(log4jPath);
}

}

Test.java:
import org.apache.log4j.Logger;

/**
*@author
*@date 2014-4-13
*/
public class Test {

private static final Logger logger=Logger.getLogger(Test.class);

public static void main(String[] args) {

logger.debug("debug");
logger.info("info");
logger.warn("warn");
logger.error("error");
logger.fatal("fatal");
}

}

将项目部署到tomcat上,开启服务器,InitLog4jServlet的init方法里打印出的log4j.properties路径完全正确,但是执行Test类的main方法时提示:

求解,到底哪里错了?实在不明白
...全文
评论 3
收藏 已收藏
分享
返回顶部
confirmAname
Java EE 67,535 成员 225,843 内容