我的web应用程序将部署到不同环境中Windows和Linux/Unix上的Weblogic应用程序服务器。日志文件位置、附件和日志级别在不同的部署中会有所不同,我们希望能够在运行时更改日志配置(通过交换配置文件),因此我无法嵌入log4j2。xml(或任何其他配置文件)添加到我的部署中。由于我在无法控制的应用服务器上运行,所以我没有机会添加环境变量来指向另一个配置位置。
目前,我的log4j2.xml位于我的应用程序的类路径中,并被打包到我的war文件中。有没有办法告诉Log4J2使用配置文件,例如相对于应用程序根目录(如Log4J的configureAndWatch(file位置)方法)?
我找到了很多关于如何配置Log4J2的示例,但是我找到的关于配置文件位置的所有信息都指向应用程序类路径。
我终于找到了解决问题的办法。我添加了一个名为
log4j2.component.properties
到我的项目(在src/main/资源)。此文件包含指向log4j2配置文件位置的属性:
log4j.configurationFile=.//path//on//my//application//server//someLog4j2ConfigFile.xml
这会导致log4j2读取该文件并从其内容中配置自身。
注意:它在src/main/resources/application.yml中工作
我在我的spring boot应用程序中使用log4j2。这在所有方面都有效:不包括slf4j,包括log4j2等。 我确实发现了一个示例,建议在-classpath参数中为Java指定上述目录。但那也无济于事。 有人知道如何让Spring Boot应用程序读取log4j2.xml文件吗?
我有一个spring-boot应用程序,我想用外部配置文件运行它。当我将其作为jar(带有嵌入式servlet容器)运行时,一切都很好。但是我想在外部servlet容器(Tomcat)下运行它,这里我遇到了外部配置的问题。我尝试了@PropertySource,但在这种情况下,应用程序只获得war文件配置中没有的属性:外部配置不会覆盖内部配置。那么问题是:我如何配置外部配置,它将覆盖内部配置?
我试图使用从另一个json模式导入定义,但得到以下错误: 目录结构: 通过使用绝对路径、url和路径的其他几种组合,我尝试了几种组合。不知道是怎么回事。 架构验证器:
问题内容: 好的,所以我不想在这里展开一场圣战,但是我们正在努力巩固处理应用程序配置文件的方式,我们正在努力决定采用哪种最佳方法。目前,我们分发的每个应用程序都在使用其自己的临时配置文件,无论是属性文件(ini样式),XML还是JSON(目前仅在内部使用!)。 目前,我们的大多数代码是Java,因此我们一直在研究Apache Commons Config ,但是我们发现它非常冗长。我们还研究了XM