WAS Logging - Java Util Logging и Log4j - PullRequest
1 голос
/ 28 января 2011

Я ищу подтверждения на следующих:

  1. Используя консоль администратора Websphere Application Server, мы можем указать некоторые конфигурации ведения журналов, которые также показывают классы вашего приложения (как показано ниже). Если я включу ведение журнала в консоли WAS, будет ли оно работать только в том случае, если в мое приложение (и другие классы, упомянутые там) включен JUL? enter image description here

  2. По умолчанию ведение журнала с помощью консоли WAS выполняется в файле трассировки ($ {SERVER_LOG_ROOT} /trace.log). Можно ли это сделать и на консоли? (Думаю, да, просто измените его на $ {SERVER_LOG_ROOT} /SystemOut.log)

  3. Есть ли способ настроить свойства Log4j также с консоли WAS? (Я думаю, нет, поэтому нам нужно использовать другие способы, чтобы сделать его настраиваемым Log4j).

PS: Я понимаю, что JUL обеспечивает абстракцию, а также свою собственную реализацию. Вышеуказанные вопросы задаются с учетом реализации JUL:)

1 Ответ

3 голосов
/ 29 января 2011

Hello Мы просто когда выполняем одно и то же упражнение: JUL против Log4j при использовании WAS. Мы решили пойти на Log4j.

1) Да, если ваше приложение использует JUL, вы сможете изменить уровень с этой консоли.

2) Я не уверен.

3) Нет, вы не можете изменить Log4j из консоли WAS. В нашем случае мы создали простой MBean, чтобы мы могли контролировать уровень лога Lo4j каждого WebApp (через wsadmin). Существует также хорошая и простая JSP от BEA, которую вы можете включить в свое WebApp, чтобы иметь пользовательский интерфейс для просмотра каждой категории.

Если вы решили использовать JUL (вместо log4j), убедитесь, что понимаете следующее:

  • JUL не имеет много готовых обработчиков.

  • JUL находится на уровне JVM, все, что вы приложение, поделится им. Если вы разрабатываете пользовательский JUL Hanlder, все WebApp будут использовать один и тот же экземпляр.

  • Поскольку обработчик JUL распространен, каждое приложение трудно разделить в отдельный лог-файл (по одному на каждое WebApp).

  • При использовании сторонних Lib (Spring, Ibatis и т. Д.) И при использовании JUL, когда вы измените уровень журнала на DEBUG в Spring, он будет изменен для ВСЕХ ваших WebApp. Если вам нужно больше мелкой детализации (изменение уровня в Spring для определенного WebApp), то лучше встроить Log4j в каждое WebApp.

Надеюсь, это поможет вам

...