首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

为什么这样初始化log4j以后,就不能工作呢?解决思路

2012-01-03 
为什么这样初始化log4j以后,就不能工作呢?要是在class里直接这样编写:String fileTestService.class.getR

为什么这样初始化log4j以后,就不能工作呢?
要是在class里直接这样编写:
  String file =TestService.class.getResource("/").getPath()+"mylog4j.properties";
PropertyConfigurator.configure(file);
Logger log = Logger.getLogger("eci.ciq.test.service.TestService");

log.error("error message");
log.info("info message");
log.debug("debug message");
log.fatal("fatal message");
log.warn("warnning message");
那么一切正常。

要是通过一个Servlet,在启动的时候设置
public void init() throws ServletException {
String file =ECIServlet.class.getResource("/").getPath()+"mylog4j.properties";
PropertyConfigurator.configure(file);
}
那样在class里下面这段语句:
  log.error("error message");
log.info("info message");
log.debug("debug message");
log.fatal("fatal message");
log.warn("warnning message");

一个都打印不出来。
请问这是何故?


[解决办法]
你看一下file得到的是什么,是你想要的文件位置吗?
一般都是request.getRealPath(String relPath);
[解决办法]
你在什么class里面做的呢 你PropertyConfigurator.configure(file);是在servlet的初始化做的 你访问过这个servlet了吗?servlet的初始化不是在web容器启动就进行的

热点排行