26.6.2. Environment属性

<springProperty>标签允许你从Spring Environment读取属性,以便在Logback中使用。如果你想在logback配置获取application.properties中的属性值,该功能就很有用。该标签工作方式跟Logback标准<property>标签类似,但不是直接指定value值,你需要定义属性的source(来自Environment),也可以指定存储属性作用域的scope。如果Environment没有相应属性,你可以通过defaultValue设置默认值。下面的例子展示了如何将属性暴露给Logback使用:

<springProperty scope="context" name="fluentHost" source="myapp.fluentd.host"
defaultValue="localhost"/>
<appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender">
<remoteHost>${fluentHost}</remoteHost>
...
</appender>

source必须使用短横线隔开(my.property-name)的格式指定。但是,属性可以通过relaxed规则添加到Environment里。