11

我正在使用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>

基本上,我希望我编写的代码中的“信息”级别消息,但我希望外部库仅在警告或更可怕的情况下记录。

这正如我所料,但“org.eclipse.jetty”下有很多类

有可能做这样的事情吗?

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

也就是说,我希望整个包中的所有内容都只警告/错误/致命。

我尝试了上述方法,但没有效果。是否有“通配符”或我可以用来为包中的所有内容设置记录器的东西?

4

1 回答 1

12

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

于 2017-06-14T21:21:53.583 回答