spring - 如何在 logback.xml 中使用 Spring 应用程序属性
问题描述
我正在尝试在 logback.xml 中使用 spring 属性值。
文件 application-dev.properties (这是我的 jar 的一部分)包含以下属性:
myapp.test.appender-class=ch.qos.logback.core.ConsoleAppender
我在 logback.xml 中添加了以下内容:
<configuration scan="true" debug="true">
<property resource="application-dev.properties" />
<appender name="consoleAppender" class="${myapp.test.appender-class}">
当我的应用程序启动时,我收到以下错误:
ch.qos.logback.core.joran.action.AppenderAction 中的错误 - 无法创建类型为 [${appender-class}] 的 Appender。ch.qos.logback.core.util.DynamicClassLoadingException:无法实例化类型 ${myapp.test.appender-class}
我究竟做错了什么?
注意:我还尝试将我的 logback.xml 重命名为 logback-spring.xml,但这会产生其他问题。
解决方案
尝试使用 springProperty
<configuration>
<springProperty name="my_appender" source="myapp.test.appender-class"/>
<appender name="consoleAppender" class="${my_appender}"/>
</configuration>
推荐阅读
- android - Linphone Android Build Compile Error: ChatMessagesFragment is not abstract
- python - How can I automate a python code for many cells?
- google-drive-api - Google Drive API V3 - 复制功能不复制内容
- java - 如何从循环外部访问 for 循环中的值?
- sql - 来自其他表的分组日期范围
- python - 取消 Build 密钥在 Sublime Text 3 中不起作用
- asp.net-core - 检测到可能的对象循环。在 System.Text.Json 和 Newtonsoft.Json
- windows-10 - 右键单击所选文本打开 URL
- java - 如何使用自定义 jooq 生成器并将其用作 sbt 任务?
- c++ - 网格相交 3D