2017-07-04 4 views
0

Kann ich eine Eigenschaft in einer application.properties verwenden?Variablen in Eigenschaftendateien im Spring Boot

Beispiel:

myLevel=ERROR 

logging.level.org.springframework=$myLevel 
logging.level.org.apache.catalina=$myLevel 

tks

+1

@XtremeBiker offenbar können Sie, wenn Sie '$ {variable} verwenden'. Aus Neugierde mit Spring-Boot '1.5.4.RELEASE' habe ich' loglevel = DEBUG' am Anfang der Datei und dann 'logging.level.root = $ {loglevel}' definiert, und es funktionierte ohne zu schwitzen. Selbst IntelliJ erkannte es und gab es als Vorschlag ... komisch ... Was vermisse ich/übersehe ich? – Morfic

+1

@Morfic, yeah, es scheint ein Feature zu sein, das ich nicht bemerkt habe oder kürzlich eingeführt habe. Habe es in der Dokumentation gefunden und werde eine Antwort geben. –

+0

@XtremeBiker yep, das habe ich vermisst. Ich habe gestern Nacht über diese Seite geschaut, aber irgendwie diesen Abschnitt übersprungen ... langer Tag. Ich habe sogar nach [issues/features] (https://github.com/spring-projects/spring-boot/issues/1672) gesucht, die SpEL erlaubt haben, weil ich den Eindruck hatte, dass es nicht unterstützt wird, was nicht der Fall ist. aber Platzhalter scheinen jetzt zu sein, also danke für die Verbindung. – Morfic

Antwort

0

Sie könnten Eigenschaft Platzhalter verwenden:

Die Werte in application.properties werden durch die bestehende Umgebung gefiltert, wenn sie verwendet werden, so dass Sie verweisen zurück zu vorher definierten Werten (zB aus Systemeigenschaften).

Für Ihren Fall:

myLevel=ERROR 

logging.level.org.springframework=${myLevel} 
logging.level.org.apache.catalina=${myLevel} 

Siehe auch:

Verwandte Themen