WAS日志记录 - Java Util Logging和Log4j

时间:2011-01-28 09:46:40

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

我正在寻求以下确认:

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

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

  3. 有没有办法从WAS控制台配置Log4j属性? (我认为不行,因此我们需要使用其他方法使Log4j可配置)。

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

1 个答案:

答案 0 :(得分:3)

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

1)如果你的App使用JUL,你可以从该控制台更改Level。

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。

希望这会对你有所帮助