2016-11-08 135 views
1

概述:如何通過從application.properties屬性的logback配置文件

我使用哨兵附加器在我logback.xml文件,我想通過大量的標籤作爲參數從application.properties文件中的logback配置文件。

logback.xml文件:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/> 
    <include resource="org/springframework/boot/logging/logback/file-appender.xml"/> 
    <include resource="org/springframework/boot/logging/logback/console-appender.xml"/> 

    <appender name="SENTRY" class="com.getsentry.raven.logback.SentryAppender"> 
     <dsn> 
      https://e0a61232c92f42ffa34c22914d676a8e:[email protected]/112817 
     </dsn> 
     <springProfile name="dev"> 
      <tags>env:dev,app:${app.name},platform:aws</tags> 
     </springProfile> 
     <springProfile name="stage"> 
      <tags>env:dev</tags> 
     </springProfile> 
     <springProfile name="test"> 
      <tags>env:test</tags> 
     </springProfile> 

     <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 
      <level>ERROR</level> 
     </filter> 
    </appender> 

    <root level="ERROR"> 
     <appender-ref ref="CONSOLE"/> 
     <appender-ref ref="SENTRY"/> 
    </root> 

</configuration> 

application.properties:

security.ignored=/** 

logging.level.root = DEBUG 

spring.profiles.active=dev 
app.name=retailServices 

注: 在application.properties的spring.profiles.active屬性映射到在logback配置文件中使用springProfile標籤。


但問題的是,「app.name」屬性不能logback.xml文件中找到的事實。如果我用這個屬性爲系統屬性它的工作原理,但我想通過它來配置從application.properties文件。

因此,任何解決方案,反饋和想法將得到高度讚賞。

回答

8

logback.xml包括:

<property resource="application.properties" /> 

然後你可以參考性的標準方法,例如${app.name}

+0

非常感謝你,我忘了這包括。 – saeedj

1

我發現春天已經支持<springProperty/>描述here一個標籤的。這意味着你可以很容易地從屬性的文件,即使這個變量的值從春季環境/系統變量解析增添變量。

相關問題