我有一个网络应用程序,它使用Spring的Log4jConfigurer
类来初始化我的Log4J日志工厂。基本上它使用一个不在类路径中的配置文件来初始化Log4J。用Spring初始化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在初始化我的应用程序之前有工作来初始化我的应用程序。万一它很重要,我在Log4J上使用SLF4J。
有没有办法让我的Log4jConfigurer成为初始化的第一个bean?还是有其他方法可以解决这个问题?
我应该提到,我的路径log4J属性文件来自JNDI字符串。我如何将该JNDI值提供给。如果我能做到这一点,我想我已经全部准备好了。 –
HDave
2010-12-09 16:46:31
我发现这个:http://www.coderanch.com/t/362833/Servlets/java/log-ServletContextListener - 它显示了如何实现你自己的log4j配置监听器,它通过JNDI获得一些信息 – Ralph 2010-12-09 16:55:28
我创建了我自己的servlet上下文监听器就像他们做的一样,并且它完美地工作。谢谢。 – HDave 2010-12-09 18:40:18