Различные приложения записывают в один и тот же файл журнала log4j
У меня есть 4 приложения java/Java EE - два приложения j2ee на основе сервера, работающие в WebSphere. Два других являются автономными Java-приложениями. Моя структура ведения журналов - log4j, использующая log4j.properties.
Вопрос 1: Могу ли я иметь один и тот же файл журнала для регистрации всех приложений. Это вызовет какие-либо проблемы с записью файлов, даже если все приложения пишут одновременно?
Вопрос 2: Если все приложения могут писать без каких-либо проблем, как я могу предварительно добавить имя приложения к каждому оператору журнала?
1 ответ
Вопрос 1:
Я считаю, что по умолчанию это не будет работать.
Если вы используете SLF4J, рассмотрите возможность переключения на LogBack. В File Appender LogBack есть разумный режим, который позволяет нескольким FileAppenders в разных JVM записывать в один и тот же файл журнала (разумеется, для всех них должен быть включен разумный режим).
http://logback.qos.ch/manual/appenders.html
Вопрос 2: НИКОГДА не делайте сообщения журнала другими, вручную регистрируя имя вашего приложения.
Есть довольно много способов сделать. Самый простой способ: поскольку у вас есть два разных приложения, вы можете иметь разные конфигурационные файлы для них. Просто добавьте соответствующую информацию об имени приложения в шаблон журнала, который используется приложением, и будет служить тому, что вы хотите.