有很多微服務,他們都應該寫日誌到同一個graylog服務器。在每一個微服務中都使用了一個GelfLogbackAppender,它有幾個設置,如主機,發佈等。這些設置對於所有的服務都是一樣的,我想把它們存儲在一個地方,像一個spring配置服務器。我怎樣才能做到這一點?我如何從配置服務器獲取並使用GELF_ADDRESS?logback設置和spring配置服務器
<appender name="gelf" class="biz.paluch.logging.gelf.logback.GelfLogbackAppender">
<host>udp:${GELF_ADDRESS}</host>
<port>${GELF_PORT}</port>
UPDATE我已經決定要顯示簡單的例子,我想,假設我想改變,通過配置服務器的所有微服務日誌級別。我做接下來的事情就:
的logback-spring.xml
<configuration>
<property name="LEVEL" value="${log_level}"/>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<root level="${LEVEL}">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
application.yml是在配置服務器是
eureka:
client:....
feign:
hystrix:....
log_level: info
它不工作,我總是看到DEBUG級別,如果我寫
<property name="LEVEL" value="info"/>
手動進入logback-spring.xml,級別會改變,但我想通過中央配置服務器來做到這一點
我已經使用配置服務器的微服務的其他設置,但是當我只是把GELF_ADDRESS:127.0.0.1進入一般application.yml這是進入配置服務器,然後它不起作用 – slippery
提供你的代碼進一步評論。另外檢查在config客戶端中形成的url上的日誌以從配置服務器獲取屬性源,更重要的是將boot.cloud.config.uri放在bootstrap.yml中 – Barath
我在我的文章中添加了一個新示例。 其他業務設置通常從配置服務器加載,我明白了。 – slippery