Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java log4j是如何自初始化的_Java_Web_Log4j_Initialization - Fatal编程技术网

Java log4j是如何自初始化的

Java log4j是如何自初始化的,java,web,log4j,initialization,Java,Web,Log4j,Initialization,当我们在web应用程序中添加log4j库并将log4j.properties文件放入classpath时,log4j将自动初始化,并使用写入属性文件中的配置进行初始化。对吧? 然后,我的问题是没有在web.xml中写任何关于log4j初始化的内容,log4j如何自动初始化意味着它如何开始搜索配置文件。这是哪一类的log4j库 我在其他一些库中也看到过这种行为。谁能给我解释一下背景中发生了什么 谢谢检查org.apache.log4j.BasicConfigurator.configure()函数

当我们在web应用程序中添加
log4j
库并将
log4j.properties
文件放入classpath时,log4j将自动初始化,并使用写入属性文件中的配置进行初始化。对吧?

然后,我的问题是没有在web.xml中写任何关于log4j初始化的内容,log4j如何自动初始化意味着它如何开始搜索配置文件。这是哪一类的log4j库

我在其他一些库中也看到过这种行为。谁能给我解释一下背景中发生了什么


谢谢检查
org.apache.log4j.BasicConfigurator.configure()函数

如果您执行configure函数调用,那么在
LogManager
类中,您将找到
DEFAULT\u CONFIGURATION\u FILE
静态字符串变量,该变量设置为
log4j.properties
。在同一类中,在静态方法
url=Loader.getResource(默认配置文件)中行执行,使用定义的文件路径初始化资源

您可以在静态块中看到更多的函数调用,这将指导如何实例化它


希望这能有所帮助。

呃,它有两个默认位置。没有什么神奇的。这都是一堆静态初始值设定项。初始化类时,会执行类中声明的静态初始值设定项。那么BasicConfigurator.configure()如何调用?@mukund为此,请遵循您调用的Logger.getLogger(…)方法来实例化Logger对象。在该方法中,您将发现对LogManager类的一个调用。