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


使用Websphere Application Server管理控制台,我们可以指定一些日志记录配置,并且还显示应用程序的类(如下所示)。如果我启用了WAS控制台中的登录功能,那么只有在“我的应用程序”(以及其中提到的其他类)已实现JUL的情况下,它才起作用吗?

默认情况下,使用WAS控制台的日志记录是在跟踪文件($ {SERVER_LOG_ROOT} /trace.log)中完成的。也可以将其设置为控制台吗? (我认为是的,只需将其更改为$ {SERVER_LOG_ROOT} /SystemOut.log)
是否还可以通过WAS控制台配置Log4j属性? (我认为不可以,因此我们需要使用其他方式使其成为Log4j可配置的)。


PS:我了解JUL提供了抽象及其自己的实现。提出上述问题时要牢记JUL的实现:)

最佳答案

你好
我们只是通过相同的练习:使用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都将共享同一实例。
由于JUL Handler很常见,因此很难将每个App拆分为一个单独的日志文件(每个WebApp一个)。
使用第三方Lib(Spring,Ibatis等)时,如果使用JUL,则在Spring上将日志级别更改为DEBUG时,所有WebApp的日志级别都会更改。如果您需要更多细节(在特定WebApp上更改Spring级别),则最好将Log4j嵌入每个WebApp中。


希望对你有帮助

关于java - WAS日志记录-Java Util日志记录和Log4j,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4826774/

10-11 10:43