log4j的配置文件不在classpath下面的初始化

log4j的默认的配置文件为Log4j.properties,但是,如果这个配置文件为了方便管理,而放在了项目的其他位置,或者是修改了配置文件的默认文件名,这个时候就可以使用指定log4j的配置文件的一种方式,

具体如下:

如果我的项目的文件管理如下图,也就是在编译完以后虽然是在classpath下,但是,log4j的配置文件不在默认指定的位置,

1PZMVSJZ4`P3QZO`O@X`NVC

 

如果是web项目,则可以初始化log4j,代码片段如下:

public void init() throws ServletException {
        String path = getServletContext().getRealPath("/");
        String file = getInitParameter("log4j").replace(File.separatorChar, '/');
        if (file != null) {
            PropertyConfigurator.configure(path + file);
        }
    }

 

当然,这只是基于servlet的,如果只是一个普通的class,则初始化也大同小异,无非就是拿到log4j的配置文件的所在位置而已,然后再

PropertyConfigurator.configure(log4jConfigerFilePath);

这样,log4j就能够找到配置文件所在位置了。

posted @ 2011-02-16 10:20  seed_lee  阅读(3493)  评论(0编辑  收藏  举报