【问题标题】:Log4j2 wildcard logger namesLog4j2 通配符记录器名称
【发布时间】:2017-11-17 00:10:20
【问题描述】:

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

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

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

【问题讨论】:

  • 现在不确定,但我认为这个包就足够了——至少对于基于属性的配置来说,它是这样工作的
  • 哇。我什至没想过只尝试包名称。谢谢!如果你回答问题,我会给你接受。

标签: java logging wildcard log4j2 log-level


【解决方案1】:

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

【讨论】:

  • 我只希望有办法让它递归。
  • 这能回答问题吗?是否能让 org.eclipse.jetty.* 在 lo4j2.xml 中工作?
猜你喜欢
  • 2018-07-17
  • 2013-06-15
  • 1970-01-01
  • 2018-02-26
  • 1970-01-01
  • 1970-01-01
  • 2011-01-02
  • 2014-11-25
  • 2018-04-16
相关资源
最近更新 更多