posts - 0, comments - 0, trackbacks - 0, articles - 2
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

[原]Log4j路径问题解决方案

Posted on 2007-10-18 11:24 Magic.Yang 阅读(1486) 评论(0)  编辑  收藏 所属分类: Java杂记
    Log4j的路径问题主要有两个:1、log4j.properties配置文件路径;2、输出的日志文件路径;

    1、log4j.properties配置文件路径解决方案
       它与其他java文件的读写一样。如果在web应用中,可以通过以下两个方法:
       方法一:将log4j.properties文件放到工程的WEB-INF目录下,然后通过下面代码来初始化log4j.properties文件的配置:
      
        ServletContext context = this.getServlet().getServletContext(); 
        PropertyConfigurator.configure(context.getRealPath(
"/") + "/WEB-INF/log4j.properties");
       这里的this.getServlet()是Struts的Action类里面的方法,如果是直接继承HttpServlet的话,则直接通过下面代码取得应用环境。
        ServletContext context = getServletContext();
       方法二:直接查找log4j.properties。以Tomcat为例,如果你的log4j.properties文件放在project/conf(这里project就是应用的根目录)下,那么可以这样找到它:
        PropertyConfigurator.configure(../webapps/project/conf/log4j.properties);
       为什么会是这样呢,因为在Tomcat中,所有的配置文件都是以Tomcat的bin目录为根目录的,实践证明的但具体原因不清楚。
    2、输出的日志文件路径解决方案
       这个跟方上个问题的方法二中一样。比如说,我要把log输出到工程project的logs目录下,那么在log4j.properties文件中这样写就可以了:
        log4j.appender.R.File=../webapps/project/logs/log4j.log

    到这里,我们可以了看到,tomcat的部署的应用里的配置默认的根目录是%CATALINA_HOME%/bin,以后类似的路径问题从这里入手解决也就不困难了。
   


只有注册用户登录后才能发表评论。


网站导航: