访问logback.xml中的应用程序属性

时间:2016-04-20 12:11:14

标签: spring-boot

是否可以在log back xml中访问spring boot的应用程序属性。

application.properties

dummy.property=hello

logback.xml

${dummy.property}

这不起作用。

是否有人知道它是否有用。

2 个答案:

答案 0 :(得分:26)

如果您将配置文件 $(document).ready(function(){ $('label').click(function(event) { var valor = parseInt($('#test').val()); $('#test').val(valor+1); event.preventdefault(); }); }); 命名为logback-spring.xml,而不是logback.xml,则可以使用<springProperty>访问Spring环境中的属性,包括application.properties中配置的属性。这是described in the documentation

  

标记允许您从Spring环境中显示属性以在Logback中使用。如果要在logback配置中访问application.properties文件中的值,这将非常有用。标签的工作方式与Logback的标准标签类似,但不是指定直接值,而是指定属性的来源(来自环境)。如果需要将属性存储在本地范围以外的其他位置,则可以使用scope属性。

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

答案 1 :(得分:6)

根据http://logback.qos.ch/manual/configuration.html#variableSubstitution

  

变量可以在配置文件本身中一次定义一个,也可以从外部属性文件或外部资源批量加载。   
...
  该属性未在配置文件中声明,因此logback将在系统属性中查找它。

Logback可以使用明确定义的系统属性或属性。所以你需要告诉logback使用application.properties文件

<property resource="application.properties" />