Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 访问logback.xml中的应用程序属性_Spring Boot - Fatal编程技术网

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

Spring boot 访问logback.xml中的应用程序属性,spring-boot,Spring Boot,是否可以在回写xml中访问spring boot的应用程序属性 应用程序属性 dummy.property=hello logback.xml ${dummy.property} 这不起作用 有没有人知道它是否有效。根据 变量可以在配置文件本身中一次定义一个,也可以从外部属性文件或外部资源中批量加载。 … 该属性未在配置文件中声明,因此logback将在系统属性中查找它 Logback可以使用系统属性或明确定义的属性。所以您需要告诉logback使用application.propertie

是否可以在回写xml中访问spring boot的应用程序属性

应用程序属性

dummy.property=hello
logback.xml

${dummy.property}
这不起作用

有没有人知道它是否有效。

根据

变量可以在配置文件本身中一次定义一个,也可以从外部属性文件或外部资源中批量加载。

该属性未在配置文件中声明,因此logback将在系统属性中查找它

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

<property resource="application.properties" />

如果将配置文件命名为
logback spring.xml
,而不是
logback.xml
,则可以使用
访问spring环境中的属性,包括在
应用程序.properties
中配置的属性。这是:

该标记允许您从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>

${fluentHost}
...

正是我想要的。非常感谢。将logback.xml重命名为logback-spring.xml后,它与logback-spring.xml有问题@Andy我们的自定义布局模式似乎被默认的spring布局模式覆盖。我可以假装我们的自定义布局,但也可以访问spring环境吗?@Joey,请问你自己的问题。这是获得帮助的更好方法。遗憾的是,即使变量名相同,也需要springProperty标记。这对我有帮助!