一千萬個為什麽

搜索

在運行時更改log4j屬性

我需要在運行時更改我的log4j屬性(rootLogger,MaxFileSize等)。 我怎樣才能做到這一點?

最佳答案

使用 LogManager.resetConfiguration(); 清除當前配置並再次進行配置。

另一種方法是構建一個新的appender並用它替換舊的appender(大多數appender不支持更改它們的配置)。這樣,所有記錄器(及其級別等)保持不變。

為此,我通常從代碼中添加第一個appender(而不是配置文件)。這允許我保存一個引用,以便以後刪除它更簡單。

轉載註明原文: 在運行時更改log4j屬性