为何log4j.properties不用手动加载

疑问:
开发过程中,通常的XML配置文件都需要被直接或者间接的被引入到web.xml文件中,如struts.xml;但我们会发现系统中没有引入log4j.properties配置的地方.
原因
打开eclipse,利用快捷键ctrl+shift+t找到LogManager(org.apache.log4j的jar包下,前提是有项目加载了该jar包),我们寻找能发现如下代码:
if (configurationOptionStr == null) {
url = Loader.getResource("log4j.xml");
if (url == null)
url = Loader.getResource("log4j.properties");
}

大致含义就是LogManager找不到log配置的话就会先去找log4j.xml,然后再去找log4j.properties。

感想
有时我们只知道一些配置会被系统加载,却不知道该配置是在哪里被加载的;这时我们应该去找到具体的原因,这样就会加深印象,不会忘记,也不会在心中留下疑惑了。

感谢
从http://www.cnblogs.com/alipayhutu/archive/2013/04/18/3028249.html处学习,谢谢该作者的贡献。

你可能感兴趣的:(java-log4j)