У нас есть веб-среда j2ee.Сервер настроен на совместное использование сеанса и, возможно, загрузчиков классов в нескольких веб-приложениях.По сути, один загрузчик классов может обслуживать несколько веб-приложений.
Кажется, это вызывает проблемы с log4j.Разные веб-приложения могут иметь разные конфигурации log4j, но регистрация будет перемещаться в один и тот же файл.
При чтении в Интернете, похоже, что log4j часто использует синглтоны в терминах appenders и других функций.Есть ли способ полностью отделить конфигурации log4j от одного веб-приложения от другого.
Сервер: websphere6 +
Log4j: 1.4.2
Java: 1.5
Example log4j.properties (webapp1):
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=/usr/local/file1.log
log4j.additivity.com.app=false
Example log4j.properties (webapp2):
log4j.appender.Z=org.apache.log4j.RollingFileAppender
log4j.appender.Z.File=/usr/local/file2.log
log4j.additivity.com.app=false
Rightтеперь регистрация в webapp2 может появляться в журналах webapp1 и наоборот.Мы не хотим этого.
Возможное решение:
Возможно, можно добавить пользовательский файл appender?Устранит ли это проблему и какой код я добавлю к пользовательскому приложению?
Можно ли изменить инициализацию log4j.Например, могу ли я использовать какой-нибудь загрузочный сервлет для загрузки logj4 для каждого веб-приложения.