【问题标题】:WAS Logging - Java Util Logging and Log4jWAS 日志记录 - Java Util 日志记录和 Log4j
【发布时间】:2011-06-17 03:22:35
【问题描述】:

我正在寻求以下方面的确认:

  1. 使用 Websphere Application Server 管理控制台,我们可以指定一些日志记录配置,并显示您的应用程序的类(如下所示)。如果我在 WAS 控制台中启用日志记录,它是否仅在我的应用程序(以及其中提到的其他类)已实现 JUL 时才有效?

  2. 默认情况下,使用 WAS 控制台的日志记录在跟踪文件 (${SERVER_LOG_ROOT}/trace.log) 中完成。这也可以用来安慰吗? (我认为是的,只需将其更改为 ${SERVER_LOG_ROOT}/SystemOut.log)

  3. 是否有任何方法也可以从 WAS 控制台配置 Log4j 属性? (我认为没有,因此我们需要使用其他方式使其 Log4j 可配置)。

PS:我知道 JUL 提供了抽象以及它自己的实现。提出上述问题时要牢记 JUL 实施:)

【问题讨论】:

    标签: java logging log4j websphere java.util.logging


    【解决方案1】:

    你好 我们刚刚通过相同的练习:使用 WAS 时的 JUL 与 Log4j。我们决定使用 Log4j。

    1) 是的,如果您的应用使用 JUL,您应该能够从该控制台更改关卡。

    2) 我不确定。

    3) 不,您不能从 WAS 控制台更改 Log4j。在我们的例子中,我们创建了一个简单的 MBean,因此我们可以控制每个 WebApp 的 Lo4j 日志级别(通过 wsadmin)。还有一个来自 BEA 的漂亮而简单的 JSP,您可以将它包含在您的 WebApp 中,以拥有一个查看每个类别的 UI。

    如果您决定使用 JUL(通过 log4j),请务必了解以下含义:

    • JUL 没有很多开箱即用的处理程序。

    • JUL 处于 JVM 级别,所有你的应用程序都会共享它。如果您开发自定义 JUL Hanlder,所有 WebApp 将共享同一个 Instance。

    • 由于 JUL Handler 很常见,很难将每个 App 拆分为单独的日志文件(每个 WebApp 一个)。

    • 当使用第三方 Lib(Spring、Ibatis 等)并且使用 JUL 时,当您将 Spring 上的 Log Level 更改为 DEBUG 时,它将为您所有的 WebApp 更改。如果您需要更细粒度(在特定 WebApp 上更改 Spring 的级别),那么最好将 Log4j 嵌入每个 WebApp。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-07
      • 2013-11-08
      • 2020-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多