从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实现,而是依赖于公共接口,从长远来看可以为你节省一些麻烦。 –