Ich bin implementieren Protokollierung in einem Spring Boot-Projekt mit Logback-Bibliothek. Ich möchte verschiedene Protokollierungskonfigurationsdateien gemäß meinen Federprofilen laden (Eigenschaft 'spring.pofiles.active'). Ich habe 3 Dateien: logback-dev.xml, logback-inte.xml und logback-prod.xml. Ich benutze Springboot Version 1.2.2.RELEASE.Spring Boot, Logback und Logging.config Eigenschaft
Wie Sie in Spring Boot-Dokumentation (here) lesen können. Dort heißt es:
Die verschiedenen Erfassungssysteme können, indem die entsprechenden Bibliotheken auf dem Classpath aktiviert werden, und weiter angepasst durch eine geeignete Konfigurationsdatei in der Wurzel des Classpath anbieten oder an einem Ort, von der Frühling Umwelt angegeben Eigenschaft logging.config. (Beachten Sie jedoch, dass die Protokollierung von @PropertySources in Spring @Configuration-Dateien nicht gesteuert werden kann, da die Protokollierung vor der Erstellung von ApplicationContext initialisiert wird. Systemeigenschaften und die konventionellen externen Spring Boot-Konfigurationsdateien funktionieren einwandfrei.)
Also versuchte ich 'logging.config' Eigenschaft in meiner Datei application.properties zu setzen:
logging.config=classpath:/logback-${spring.profiles.active}.xml
Aber wenn ich meine Anwendung starten, mein logback- {Profil} .xml nicht geladen ...
Ich denke, Protokollierung ist ein häufiges Problem, das alle Projekte, die Springboots verwenden, sind angetroffen worden. Ich möchte wissen, ob ich in die richtige Richtung bin oder nicht, weil ich andere Lösungen habe, die auch funktionieren, aber ich finde sie nicht elegant (bedingtes Parsing mit Janino in logback.xml-Datei oder Befehlszeilen-Eigenschaft).
Haben Sie eine elegante Lösung gefunden, wenn Sie mehrere aktive Profile gleichzeitig haben? – Gevorg
Überprüfen Sie meine Bearbeitung am 3. März 2016 –