Мы распространяем приложение, которое развертывается в виде набора файлов WAR на различных серверах WebLogic (9, 10 и 11) на сайтах различных клиентов. Эти приложения используют commons-logging и log4j. Он отлично работает везде, кроме определенного сайта, где наше приложение не ведет журналы. Этот сайт находится на 11g, и на нем установлено множество другого программного обеспечения Oracle (BPEL, OSB и т. Д.)
В нашем коде мы используем:
public class Foo {
private final static Log log = LogFactory.getLog(Foo.class);
public void bar () {
log.trace("bar called");
...
Поскольку мы хотим, чтобы клиенты могли адаптировать свою конфигурацию журналов, у нас есть папка конфигурации на сервере CLASSPATH:
CLASSPATH=/opt/app/domain_foo/foo_config/:....
В этой папке два файла для журналов, commons-logging.properties:
org.apache.commons.logging.Log org.apache.commons.logging.impl.Log4JLogger
И log4j.properties: (это упрощенный вариант, который имеет ту же проблему, фактический файл содержит 5 регистраторов с различными параметрами)
log4j.rootLogger=INFO, fileApp
# File appender
log4j.appender.fileApp=org.apache.log4j.RollingFileAppender
log4j.appender.fileApp.file=fooapp.log
log4j.appender.fileApp.maxFileSize=10240KB
log4j.appender.fileApp.maxBackupIndex=5
log4j.appender.fileApp.append=true
log4j.appender.fileApp.layout=org.apache.log4j.PatternLayout
log4j.appender.fileApp.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss,SSS} %-5p %-70.70C %m%n
log4j.logger.be.foo=DEBUG
Файл fooapp.log создан (так что он смог найти файл свойств), но пуст. Я попытался проверить настройки журнала в Weblogic, но они кажутся одинаковыми на рабочих и неработающих серверах. Я скопировал CLASSPATH на свой сервер, и он все еще работает нормально.
Я действительно не знаю, где больше искать. Любые идеи ?