2017-02-02 2 views
0

Ich habe eine Spring-Boot-App auf C4-Large EC2 Instance, aufgrund einer speziellen Anforderung müssen wir die maximale Größe des ändern Protokolldateien <maxFileSize>10MB</maxFileSize> bei Bedarf ohne Neustart der Spring-Boot-App. Derzeit befindet sich die logback-spring.xml unter dem Ressourcenordner und wird geladen, sobald wir die Anwendung starten.logback-spring.xml neu laden <maxFileSize></ maxFileSize> ohne Neustart der Spring-Boot-App

+0

Atleast in logback-spring.xml ist es nicht möglich – rajadilipkolli

+0

@rajadilipkolli ist es möglich, überprüfen Sie meine Antwort :) – Shek

+0

das funktioniert, aber wir müssen Code mit dieser Änderung bereitstellen. Seine Anforderung besteht darin, die Anwendung nicht zu starten, sondern die Größe zu ändern. – rajadilipkolli

Antwort

0

Wenn möglich, würde ich empfehlen, keine Logging-Erweiterungen (d. H. Logback.xml statt logback-spring.xml) zu verwenden, in diesem Fall as it does not support configuration scanning.

eine regelmäßige logback.xml Datei in einem externen Ort (nicht in Ihrem Glas), die -Dlogback.configurationFile=/path/to/config.xml mit angegeben werden können, sollten Sie in der Lage sein, die Vorteile von logback des nehmen configuration scanning, z.B .: <configuration scan="true" scanPeriod="30 seconds">.

Auf diese Weise können Sie Änderungen an Ihrer logback.xml (z. B. eine aktualisierte maximale Dateigröße) vornehmen, ohne die Anwendung neu starten zu müssen.

+0

Ich kann Logback nicht separat in der Produktion laden, schaue jetzt in mbeans, danke für die Mühe. – Shek

0

Nun nach mehreren Versuchen war ich die objektiv-

<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
       <maxFileSize>${xyz.log.fsize}</maxFileSize> 

erreichen kann

hier ${xyz.log.fsize} ist die Systemeigenschaft, so um den logback-spring.xml ohne nachzuladen Neustart die Spring Boot App, habe ich einen Post-Anruf erstellt -

jetzt, wenn Sie die App starten Sie es mit VM Argument -Dxyz.log.fsize=10MB

beginnen, sobald die App installiert ist und läuft, machen den Post Anruf -

http://localhost:8080/changeSize/100MB 

und voila! Ihre logback-spring.xml wird im laufenden Betrieb neu geladen, ohne die App zu starten.

Verwandte Themen