【问题标题】:how do I setup slf4j to handle JUL logging in a HttpServlet?如何设置 slf4j 来处理 HttpServlet 中的 JUL 日志记录?
【发布时间】:2013-12-04 01:05:10
【问题描述】:

我们有一个包含多个 HttpServlet 的大型现有应用程序。 这些目前是使用 log4j 日志记录编写的 - 除了一些使用 Java.util.logging 编写的库。

我真的很想让他们都通过 log4j 处理和输出格式。

看起来我应该能够使用 slf4j 来做到这一点 - 但我找不到任何关于 HOW 的实际文档。只是很多“是的,它可以这样”。我已将 slf4j-api.jar、slf4j-log4j12.jar 和 jul-to=slf4j.jar 添加到我的类路径中。

由于这似乎没有处理 JUL 日志记录(仍然以它自己的格式出现),所以必须做一些具体的事情来让事情挂钩/开始 - 但我一直没能找到确切需要什么的文档。

【问题讨论】:

  • 对不起,我自己并没有真正尝试过,所以我不能 100% 确定它是否有效。假设您正在谈论 log4j2,您是否看过 FAQ 页面,其中详细说明了您需要哪些 jars?如果问题仍然存在,您能否在 log4j2 问题跟踪器中提出此问题?谢谢!

标签: java slf4j java.util.logging log4j2


【解决方案1】:

对于您的问题,您可以使用 http://www.slf4j.org/legacy.html 中记录的 JUL 到 SLF4J 桥接器

别忘了打一次SLF4JBridgeHandler.install()

如果你有可能,我建议你使用迁移器而不是桥接,生成的代码会更干净,性能更好!

【讨论】:

  • 这实际上非常接近所需的更改。我实际上必须添加 2 行。 (不,不能在此代码上使用迁移器。)“SLF4JBridgeHandler.removeHandlersForRootLogger(); SL​​F4JBridgeHandler.install();”
猜你喜欢
  • 2021-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-23
  • 2012-08-26
  • 2011-11-07
  • 1970-01-01
相关资源
最近更新 更多