2015-08-25 25 views
6

Ben çalıştıran bir bahar Önyükleme uygulamanın günlük düzeyini değiştirmek istiyorum.Bahar Önyükleme uygulama günlüğü seviyesi

Zamanında kayıt düzeyini değiştirmek mümkün mü? Şu anda kavanozun içinde kaydedici yapılandırması var. Uygulama çalışırken günlük düzeyinin değiştirilmesi

+1

Kontrol burada bu sorunun cevabını http: //stackoverflow.com/questions/5448673/slf4j-logback-how-to-configure-loggers-in-runtime – style

cevap

13

yatan logger uygulamasının bir parçasıdır.

Kullandığınız kaydedici uygulamasını belirtmediniz, bu nedenle, önyükleme başlangıç ​​başlatması veya yay önyükleme-başlatıcı-web bağımlılıkları aracılığıyla sağlanan varsayılan günlük kaydını kullandığınızı kabul ediyorum. application.properties örneğin Sigma'dan

Yorum dışında herhangi bir kayıt cihazı ile ilgili yapılandırma

#logging.path=logs 
#logging.level.org.springframework.web= INFO 
#logging.level.=INFO 

http://logback.qos.ch/manual/jmxConfig.html

başlatın uygulamasını ve açık JConsole görün etiketi ile Sınıfyolu kök logback.xml ekleyin ve Mbean sekmesine gidin. ch.qos.logback.classic.JMxConfigurator.Under paketini seçin. SetLoggerLevel işlemi . org.springframework.web, değişiklik hemen etkili olacaktır

enter image description here

DEBUG. Diğer kayıt defteri kitaplıkları için bkz. Bahar önyükleme kullanıcı kılavuzu http://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html Ve kütüphaneye özel bilgiler örn. log4j için http://www.sureshpw.com/2012/04/dynamic-logging-with-log4j.html

farklı bir yaklaşım konfigürasyona JMX olmadan adımlar hakkında tekrarlamak ve kullanmaktır izleyici

+0

ayrıntılı bir açıklama için teşekkür ederiz. Logback kullanıyorum bu yüzden –

+0

'un yukarısında belirtilen yaklaşımları takip edebilirim ve http://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html çok yardımcı oldu. Ben düşünebilirsiniz başka bir seçenek autowiring 'org.springframework.boot.logging.logback.LogbackLoggingSystem' ve' LogbackLoggingSystem.setLogLevel (String loggerName, LogLevel seviye) 'kullanarak çalışma zamanında günlüğe kaydetme düzeyini programlı olarak değiştirin. Bu şekilde, kendi dinlenme api'nizi oluşturabilir ve istediğiniz gibi kontrol edebilirsiniz (sadece son noktayı uygun bir şekilde sabitlediğinizden emin olun) – burcakulug

+0

@Prabhakar D - Bunu diğer cevaptan ziyade cevap olarak kabul edin. – Mubin

3

değiştirmek istiyorsanız Zaten çalışan bir Spring Boot uygulamasının günlüğe kaydetme düzeyi, spring-cloud-config'a bir göz atabilirsiniz.

Yay Bulut yapılandırma dağıtılmış bir sistem de dışa yapılandırma için, sunucu ve istemci tarafı desteği sağlar: http://cloud.spring.io/spring-cloud-config/: bakınız. Config Server ile tüm ortamlardaki uygulamalar için harici özellikleri yönetmek için merkezi bir yere sahipsiniz.

hesabıyla bir merkezden yapılandırma sunucusunda ve mevcut uygulamada özelliklerini yönetebilirsiniz - (bootstrap.properties kontrol edin) istemci uygulamasında @RefreshScope ek açıklaması kullanan

spring.application.name=application name 

için bir giriş oluşturmak dosyayı applications.properties sen Uygulama çalışma zamanınızı yenileyebilir ve güncel günlüğe kaydetme düzeyi özelliğini görebilir.

2

Spring Boot 1.5 sürümü ile birlikte, Boot uygulamanızda aktüatör varsa, bunu REST API kutusunun dışında yapabilirsiniz.

1.5 aktüatör, yapılandırmayı görüntüleyebilmeniz için 'loggers' adı verilen bir son nokta ve çalışma zamanı değişiklikleri yapmak için POST sağlar.

Ex.

curl -i -X POST -H 'Content-Type: application/json' -d '{"configuredLevel": "DEBUG"}' http://localhost:8080/loggers/org.springframwork 
İlgili konular