回答
在應用程序運行時更改日誌級別是基礎記錄器實現的一部分。
您沒有指定您正在使用的記錄器實現,因此我將假定您使用的是通過spring-boot-starter-logging或spring-boot-starter-web依賴項提供的缺省logback。
註釋掉application.properties 中的所有記錄器相關配置,例如,
#logging.path=logs
#logging.level.org.springframework.web= INFO
#logging.level.=INFO
添加logback.xml與標籤 你的classpath的根目錄見http://logback.qos.ch/manual/jmxConfig.html
啓動應用程序並打開JConsole的,去的MBean標籤。 選擇包ch.qos.logback.classic.JMxConfigurator.Under默認定位setLoggerLevel操作 例如org.springframework.web,DEBUG
的改變將立即生效。 對於其他記錄器庫,請參閱彈簧引導用戶指南 http://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html 對log4j的 http://www.sureshpw.com/2012/04/dynamic-logging-with-log4j.html
一種不同的方法是重複有關步驟,而不JMX和使用配置守望
謝謝你的詳細解釋。我使用的是logback,所以我可以按照上面列出的方法, –
這個答案和http://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html幫助了很多。我可以想到的另一個選擇是自動裝配'org.springframework.boot.logging.logback.LogbackLoggingSystem'並使用'LogbackLoggingSystem.setLogLevel(String loggerName,LogLevel level)'以編程方式在運行時更改日誌記錄級別。通過這種方式,你可以在它周圍建立你自己的休息api,並根據需要控制它(只要確保你以正確的方式保護端點) – burcakulug
@Prabhakar D - 接受這個答案而不是其他鏈接。 – Mubin
如果你想改變日誌級別已經運行的Spring Boot應用程序,你可以看看spring-cloud-config。請參閱: http://cloud.spring.io/spring-cloud-config/:
春雲配置提供了一個分佈式系統外部配置的服務器和客戶端支持。通過Config Server,您可以在所有環境中管理應用程序的外部屬性。
您可以集中管理配置服務器,並在當前的應用程序屬性 - applications.properties文件(檢查bootstrap.properties)創建您的客戶端應用程序的
spring.application.name=application name
條目使用@RefreshScope
註解你將能夠刷新您的應用程序運行時並查看更新的日誌記錄級別屬性。
隨着Spring Boot 1.5的發佈,如果您的Boot應用程序中有執行器,您可以通過開箱即用的REST API來完成。
1.5執行器提供了一個名爲「記錄器」的端點,您可以通過它來查看配置,並通過POST進行運行時更改。
Ex。
curl -i -X POST -H 'Content-Type: application/json' -d '{"configuredLevel": "DEBUG"}' http://localhost:8080/loggers/org.springframwork
- 1. 應用程序日誌級別
- 2. 作爲systemd服務的Spring Boot應用程序:日誌文件
- 3. Spring Boot忽略來自外部application.properties的日誌記錄級別
- 4. Java實用程序日誌級別映射到Jboss日誌級別
- 5. Spring Boot Admin日誌歷史
- 6. Spring Boot編程式日誌配置
- 7. selenium webdriver日誌級別 - 禁用驅動程序調試日誌
- 8. Datastax驅動程序日誌級別
- 9. 谷歌應用程序引擎蟒蛇日誌級別降噪
- 10. 每個應用程序的Lager日誌級別
- 11. 在TestNG中設置應用程序日誌級別
- 12. 谷歌應用程序引擎(Java)日誌級別1.7.4減少
- 13. python django應用程序設置日誌級別
- 14. 如何禁用Spring Boot日誌配置?
- 15. 如何使日誌組件在整個Spring Boot應用程序中可見
- 16. 有沒有辦法將日誌流式傳輸到Spring Boot應用程序?
- 17. Spring Boot關閉日誌記錄程序包
- 18. karaf日誌級別
- 19. MongoDB日誌級別
- 20. Log4j日誌級別
- 21. 多模塊Spring Boot應用程序
- 22. Spring Boot web應用程序未啓動
- 23. Spring Boot JNDI應用程序設置
- 24. Spring Boot應用程序。 SecurityContextHolder與HttpSession
- 25. Spring-Boot應用程序啓動失敗
- 26. 測試Spring Boot應用程序?
- 27. Spring Boot應用程序中的SymmetricDS
- 28. Log4j2設置日誌級別
- 29. Spring Boot Admin中的日誌操作
- 30. 與Lombok的Spring Boot日誌記錄
檢查出這個問題的答案在這裏:HTTP://stackoverflow.com/questions/5448673/slf4j-logback-how-to-configure-loggers-in-runtime – style