У меня есть веб-приложение, которое использует класс Spring * Log4jConfigurer
для инициализации моей фабрики журналов Log4J.По сути, он инициализирует Log4J с помощью файла конфигурации, который находится за пределами пути к классам.
Вот конфигурация:
<bean id="log4jInitializer" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" depends-on="sbeHome">
<property name="targetClass" value="org.springframework.util.Log4jConfigurer" />
<property name="targetMethod" value="initLogging" />
<property name="arguments">
<list>
<value>#{ MyAppHome + '/conf/log4j.xml'}</value>
</list>
</property>
</bean>
Однако при запуске приложения появляется эта ошибка:
log4j:WARN No appenders could be found for logger
и тонны сообщений инициализации контекста приложения Spring выводятся на консоль.Я думаю, это потому, что Spring выполняет работу по инициализации моего приложения до того, как у него появится возможность инициализировать мой регистратор.В случае, если это имеет значение, я использую SLF4J поверх Log4J.
Есть ли какой-нибудь способ, которым мой Log4jConfigurer может быть инициализирован первым бином?или есть другой способ решить эту проблему?