我的Web应用程序将部署到不同环境中的Windows和Linux / Unix上的Weblogic应用程序服务器。日志文件的位置,附加程序和日志级别在不同的部署之间会有所不同,我们希望能够在运行时(通过交换配置文件)更改日志记录配置,因此我无法嵌入log4j2.xml(或任何其他配置)文件)放入我的部署中。而且由于我在无法控制的应用程序服务器上运行,因此我没有机会添加环境变量以指向另一个配置位置。
当前,我的log4j2.xml驻留在我的应用程序的类路径中,并被打包到我的war文件中。有什么办法告诉Log4J2使用配置文件e。 G。相对于应用程序根目录(例如Log4J的configureAndWatch(fileLocation)方法)?
我找到了许多有关如何配置Log4J2的示例,但是我发现的有关配置文件位置的所有内容都指向应用程序类路径。
答案 0 :(得分:0)
我终于找到了解决我问题的方法。我添加了一个名为
的文件log4j2.component.properties
到我的项目(在src / main / resources中)。该文件包含一个指向我的log4j2配置文件位置的属性:
log4j.configurationFile=.//path//on//my//application//server//someLog4j2ConfigFile.xml
这将导致log4j2读取该文件并根据其内容进行自我配置。