首页 > 解决方案 > 如何在 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,但这会产生其他问题。

标签: springspring-bootlogbackspring-logback

解决方案


尝试使用 springProperty

<configuration>
    <springProperty name="my_appender" source="myapp.test.appender-class"/>

    <appender name="consoleAppender" class="${my_appender}"/>
</configuration>

推荐阅读