【问题标题】:How to forward JSF RI (Mojarra) log to slf4j or log4j?如何将 JSF RI (Mojarra) 日志转发到 slf4j 或 log4j?
【发布时间】:2011-02-26 09:01:24
【问题描述】:

如何教Mojarra使用slf4j或log4j?

根据slf4j documentation我得打电话:

org.slf4j.bridge.SLF4JBridgeHandler.install();

在我的项目中的某个地方。但我不能在 Mojarra 中调用它......所以,问题是我应该何时以及如何执行这个 install() 方法?

【问题讨论】:

    标签: java jsf log4j slf4j mojarra


    【解决方案1】:

    最好的方法是通过自定义Listener。在 JSF servlet 之前初始化它应该在 contextInitialized(ServletContextEvent) 中配置 jul-to-slf4j 桥。

    【讨论】:

      【解决方案2】:

      我相信作为 Sun 代码的 Mojarra 使用 java.util.logging。

      slf4j 项目下载包含一个插件模块,它将所有 j.u.l 语句转发到 slf4j。然后您可以使用 log4j 作为 slf4j 后端。

      【讨论】:

      • 为了让 Jersey 使用 slf4j,我必须这样做:stackoverflow.com/questions/4121722。我应该对 Mojarra 做同样的“黑客攻击”吗? :(
      • 你的问题没有提到在junit中运行。此外,junit 测试不应依赖于日志记录。
      • 好吧,无论是否在junit测试中,我仍然无法理解如何在之前 Mojarra初始化...注入这个Bridge初始化
      • Mojarra 是一个 JSF 2.0 实现,即一个库。使用该库的代码需要进行初始化。
      • 完全同意。但是这个初始化可以在哪里完成呢? Mojarra 的FacesServlet 由JEE 容器实例化,根据web.xml 的详细信息。是否可以在两者之间注入我自己的代码?
      猜你喜欢
      • 1970-01-01
      • 2012-01-29
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-27
      • 2016-10-28
      • 2015-10-02
      相关资源
      最近更新 更多