在springboot应用程序中,我有一个jar,然后是一个子目录config with application。属性,applicationContext。xml和log4j。。。属性文件。
我正在尝试外部化log4j配置。application.properties是这样外部化的。
但是,当springboot运行时,它使用jar文件中的log4j配置文件。通过使用-Dlog4j.debug选项,我可以看到log4j首先使用我的外部文件,但是当Spring启动时,它会用jar中的设置覆盖log4j设置。
下面是一个启动示例(包含所有选项)
java -Dlog4j.debug
-Dlogging.config="file:/opt/config/log4j-qa.properties"
-Dlog4j.configuration="file:/opt/config/log4j-qa.properties"
-jar /opt/myjarName.jar
--spring.config.location=/opt/config/
在第一次启动时,log4j声明log4j:从URL文件:/opt/config/log4j-qa读取配置。属性
然后在springboot上启动log4j:从URL-jar:file:/opt/dms-events-api读取配置。罐子/log4j质量保证。属性
但我希望它只读取外部文件:/opt/config/log4j qa。属性
有两个问题:
>
外部化的配置:-尝试并在Spring引导罐中为我工作
-Dlog4j.configuration=file:/Users/test/Any-Folder/log4j.properties
Spring日志记录接管了这个任务—为此,您需要排除日志记录模块。PFB Gradle构建的配置。
configurations {
all*.exclude module : 'spring-boot-starter-logging'
}
分辨率:
在我们的应用程序中,我们有一行@重要性资源("classpath: Application ationContext.xml"),然后它从classpath定义了log4j属性文件:
简单的解决方案1。在api应用程序的根目录下创建一个/config目录,并将属性文件放在那里2。删除ImportResource行,现在不需要它3。在应用程序中添加一行。属性文件日志记录。config=文件:config/log4j-${我们的环境变量}。属性
通过在项目的根目录创建一个/config目录,我们可以像往常一样在eclipse中工作并找到我们的属性文件--然后要将配置外部化,只需在应用程序jar所在的位置添加一个config目录,并将属性文件放在那里。
因为我在我的项目中添加了一个外部jar文件,所以log4j配置是从log4j中获取的。外部jar文件中的xml。log4j。我的应用程序中的xml配置未得到应用。 有没有办法覆盖log4j。xml配置,使我的应用程序log4j。xml被选中了? EAR结构: \lib\externalJar\log4j。xml \appweb。war\WEB-INF\classes\log4j。xml 我可以在日
我有一个启动应用程序,部署到一个外部tomcat服务器,一切工作在我的本地与本地数据库。现在,我必须将代码推广到数据库配置不同的更高环境。我读了很多关于配置文件的etc...,但是当它是一个外部tomcat并且不使用
我想外部化的选项,有一个可重用的类或注释,我可以扔在排除任何数据库/Hibernate初始化。 因此,与其写: 我想创建一个注释,我可以应用到我的主类: 然后通过注释启用此功能: 问题:注释方法不起作用,Spring仍然尝试加载数据库。为什么啊? 我的最终目标是拥有多个配置文件,其中只有一个加载数据库。
我正在开发一个由几个包组成的OSGi程序,我有时在本地windows dev计算机上运行,有时在经典的Linux上运行。目前,几个专用于资源连接的bundle都有自己的配置文件(属性文件),其中包含一些信息,比如访问一些重要文件的路径(在两个环境中都有)。 但是,由于两个执行环境中的路径不同,我必须在编译之前手动更改配置,这取决于我要在哪个环境中运行我的程序。
我在两个问题上需要你的帮助: 我怎样才能使这两个特性得到满足呢? 感谢您的帮助:)
本文向大家介绍SpringBoot内部外部配置文件加载顺序解析,包括了SpringBoot内部外部配置文件加载顺序解析的使用技巧和注意事项,需要的朋友参考一下 内部配置加载顺序 SpringBoot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 –file:./config/ –file:./ –cl