Java log4j是如何自初始化的
当我们在web应用程序中添加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()函数
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类的一个调用。