WAS日志记录 – Java Util Logging和Log4j

我正在寻求以下确认:

  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的实施:)

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

1)如果您的应用程序使用JUL,则应该可以从该控制台更改级别。

2)我不确定。

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

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

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

  • JUL处于JVM级别,所有应用程序都将共享它。 如果您开发自定义JUL Hanlder,则所有WebApp将共享相同的实例。

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

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

希望对你有帮助