Log4j2 通配符记录器名称

Log4j2 wildcard logger names

我正在使用 log4j 在我的一个应用程序上进行一些登录。我配置中的记录器看起来像这样。

<Root level="info">
    <AppenderRef ref="Console"/>
</Root>

<Logger name="org.eclipse.jetty.server.Server" level="warn" additivity="false">
    <AppenderRef ref="Console"></AppenderRef>
</Logger>
<Logger name="org.eclipse.jetty.util.log" level="warn" additivity="false">
    <AppenderRef ref="Console"></AppenderRef>
</Logger>
<Logger name="org.eclipse.jetty.server.ServerConnector" level="warn" additivity="false">
    <AppenderRef ref="Console"></AppenderRef>
</Logger>

基本上,我想要来自我编写的代码的 "info" 级消息,但我希望外部库仅在出现警告或更严重的情况时才记录。

正如我预期的那样工作,但是 "org.eclipse.jetty"

下有很多 类

是否可以这样做?

<Logger name="org.eclipse.jetty.*" level="warn">
    <AppenderRef ref="Console" level="warn"></AppenderRef>
</Logger>

也就是说,我希望整个包中的所有内容都只有warn/error/fatal。

以上都试过了,没有效果。是否有 "wildcard" 或我可以用来为包中的所有内容设置记录器的东西?

对于基于 属性 的配置,您只需使用不带任何通配符的包名称。也应该与 XML 一起工作:)