log4j.properties log4j.xml 路径问题

我的博客现在已经搬家到极客导航的博客模块中链接地址是:极客博客

顺便做了个程序员资源导航站www.gogeeks.cn,有兴趣的朋友不妨看一看有哪些还没了解到的IT方面的东西,比如框架,书籍,教程,开源社区等等吧。

自动加载配置文件:

(1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解。log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log4j.properties文件。然后加载配置。配置文件放置位置正确,不用在程序中手动加载log4j配置文件。如果将配置文件放到了config文件夹下,在build Path中设置下就好了。

若要手动加载配置文件如下:

(1)PropertyConfigurator.configure("log4j.properties") 默认读取的是项目根目录的路径。此时的log4j.properties要放在项目目录下。

如图,log4j.properties和src是同级目录,同在根目录下

(2)一般,一个java项目会有很多的配置文件,建议把所有的配置文件放到一个文件夹下,

例如,放到config文件夹。那么在读取这些配置文件的时候要加上子目录名称。

如图在项目目录下创建config文件夹(注意:不是在src文件下),此时,config和src是同级目录

这时,读取路径改为:

PropertyConfigurator.configure("config/log4j.properties");

(3)项目打成jar包时,一般不会把配置文件也打进jar包。

如果是第一种方式,直接将log4j.properties文件和生成的HelloWorld.jar放在同一目录下,项目就能顺利读取配置文件。

如果是第二种方式,要建立config文件夹,把配置文件放入其中,再将config文件和生成的HelloWorld.jar放在同一目录下,项目就能顺利读取配置文件。

 思考:log4j.properties配置文件,配置简单,但不支持复杂过滤器filter,log4j.xml虽然配置文件看似复杂,但支持复杂过滤器和Log4j的新特性。推荐使用log4j.xml


作者:月食之后
出处:http://www.cnblogs.com/aftereclipse/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/aftereclipse/p/2827941.html