從here如何在log4j2的手動代碼配置中爲appender添加關卡?
你不需要申報單獨記錄器來實現這一點。您可以在上設置AppenderRef元素的日誌記錄級別。
和XML的例子(部分):
<Root level="trace">
<AppenderRef ref="file" level="DEBUG"/>
<AppenderRef ref="STDOUT" level="INFO"/>
</Root>
但我不能找到一個方法來做到這一點,當我創建自己的配置。比如我有consoleAppenderBuilder和rootLoggerBuilder:
AppenderComponentBuilder consoleAppenderBuilder = builder
.newAppender("Stdout", "CONSOLE")
.addAttribute("target", ConsoleAppender.Target.SYSTEM_OUT);
RootLoggerComponentBuilder rootLoggerBuilder = builder
.newRootLogger(Level.ERROR)
.add(builder.newAppenderRef("Stdout"));
如何添加控制檯附加目的地到根日誌記錄,並定義日誌級別的附加目的地。我問這是因爲我想添加多個appender到根記錄器。
據我所知,你想知道如何以編程方式配置appender級別,但感覺這可能是[XY問題](https://meta.stackexchange.com/a/66378),因爲你可能不是真的需要進行編程配置才能達到您想要的結果。你能解釋一下爲什麼你想用這種方式配置log4j2嗎?如果你可以避免編程配置,那麼你可以防止你的代碼依賴於log4j2實現,而是依賴於公共接口,從長遠來看可以爲你節省一些麻煩。 –