除了在 Spring Boot 应用程序的 bootstrap.properties 中指定之外,有没有办法为 Slueth 提供 Spring 应用程序名称?
Posted
技术标签:
【中文标题】除了在 Spring Boot 应用程序的 bootstrap.properties 中指定之外,有没有办法为 Slueth 提供 Spring 应用程序名称?【英文标题】:Is there a way to provide Slueth the spring application name other than specifying that in bootstrap.properties of Spring boot application? 【发布时间】:2019-05-28 00:46:51 【问题描述】:根据this 指南,如果使用自定义 logback.xml,则必须在 bootstrap.properties 中指定应用程序名称。我想知道是否有任何方法可以在 logback.xml 中硬编码应用程序名称,而不是使用该属性创建 bootstrap.properties 文件?
我有带有 spring.application.name 属性的 bootstrap.properties 并且 slueth 认识到这一点并且一切都很好。但我想知道是否有任何方法可以指定任何 logback 属性,并且侦探会选择应用程序名称!?
请注意,我使用的是我自己的自定义日志记录格式。以下是我的 logback.xml 文件的样子。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="CONSOLE_LOG_PATTERN" value="%dateISO8601
$LOG_LEVEL_PATTERN:-%5p $PID:- [%15.15t] %-40.40logger39 :
%m%n$LOG_EXCEPTION_CONVERSION_WORD:-%wEx"/>
<root level="INFO">
<appender-ref ref="CONSOLE" />
</root>
</configuration>
【问题讨论】:
【参考方案1】:<springProperty>
标签允许您从 Spring 环境中公开属性以在 Logback 中使用。
即
<springProperty scope="context" name="fluentHost" source="myapp.fluentd.host" defaultValue="localhost"/>
【讨论】:
感谢您的提示,但是我已经尝试过了,它仍然没有采用 spring 属性中指定的默认值。以下是我作为弹簧属性的内容,我删除了引导属性,没有运气。<springProperty scope="context" name="springAppName" source="spring.application.name" defaultValue="router"/>
以上是关于除了在 Spring Boot 应用程序的 bootstrap.properties 中指定之外,有没有办法为 Slueth 提供 Spring 应用程序名称?的主要内容,如果未能解决你的问题,请参考以下文章
spring boo的简单搭建(eclipse+springboot + redis + mysql + thymeleaf)