1

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

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

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

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

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

4

1 回答 1

3

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

1) 是的,如果您的应用程序使用 JUL,您应该能够从该控制台更改级别。

2) 我不确定。

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

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

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

  • JUL 是 JVM 级别的,所有你的 App 都会分享。如果您开发自定义 JUL Hanlder,所有 WebApp 将共享同一个 Instance。

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

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

希望对你有帮助

于 2011-01-28T22:04:29.697 回答