2015-03-02 93 views
0

相關:如何輕鬆設置slf4j在運行時的日誌級別?

How to change slf4j level at runtime?SLF4J debugging level configuration + Logging framework integrationSet Dynamic Console Logging Level Using SLF4JSetting log level of message at runtime in slf4jHow to dynamically change log level in SLF4j OR Log4J

是有可能做到這一點很容易

編輯:貌似你不能那樣做。人們必須與底層的實現混爲一談。我正在使用簡單的罐子。

感謝

+0

是否要更改當前正在運行的應用程序的級別,或者是否還想爲下一次應用程序啓動保留更改?它是桌面應用程序,還是運行在應用程序服務器中? – SubOptimal 2015-03-02 07:43:01

+0

「輕鬆」是主觀的 - 所引用的所有答案都不是什麼「容易」的方式? – 2015-03-02 07:48:06

+0

只是想在運行時改變它programmaticaly。沒有任何其他問題的答案讓我輕鬆地做到這一點,沒有很多麻煩。 – 2015-03-02 16:12:51

回答

0

我做這種方式,但也有其他:

String tmpName = "newLogConfig.xml" 
    try (InputStream defaultIs = Log4jReconfigurator.class.getResourceAsStream()) { 
     logger.warn("Using log4j configuration " + tmpName); 
     new DOMConfigurator().doConfigure(is, LogManager.getLoggerRepository()); 
    } catch (IOException e) { 
     logger.error("Failed to reconfigure log configuration", e); 
    } 

我提供預定義的記錄模板,這可以讓你在運行時加載它們。

+0

我正在使用簡單的罐子。所以它看起來像我不得不用混凝土的東西來騙人。 – 2015-03-02 16:14:47

0

您不能配置SLF4J,您需要配置SLF4J配置爲使用的具體日誌記錄框架。