web应用程序中的Spring、Log4j

web应用程序中的Spring、Log4j,spring,log4j,Spring,Log4j,我正在尝试使用log4j 我的log4j.propreties: log4j.rootLogger=DEBUG, out log4j.logger.org.springframework=INFO log4j.logger.org.apache.activemq=INFO log4j.logger.org.apache.activemq.spring=WARN log4j.logger.org.apache.servicemix=DEBUG, stdout log4j.appender.st

我正在尝试使用log4j

我的log4j.propreties:

log4j.rootLogger=DEBUG, out

log4j.logger.org.springframework=INFO
log4j.logger.org.apache.activemq=INFO
log4j.logger.org.apache.activemq.spring=WARN
log4j.logger.org.apache.servicemix=DEBUG, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} | %-5p | %t | %c | %m%n

log4j.appender.out=org.apache.log4j.DailyRollingFileAppender
log4j.appender.out.DatePattern=?-?yyyy-MM-dd?.log??/>
log4j.appender.out.layout=ConversionPattern %d{ABSOLUTE} | %-5p | %t | %c | %m%n
log4j.appender.out.file=/home/adam/workspace/log/servicemix
web.xml的一部分

<web-app id="WebApp_ID" version="2.5"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
...
    <context-param>
        <param-name>contextConfigLocation</param-name>
        ...
    </context-param>
    <context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>resources.application</param-value>
    </context-param>
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/classes/config/log4j/log4j.properties</param-value>
    </context-param>
    <context-param>
        <param-name>log4jRefreshInterval</param-name>
        <param-value>1000</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
...
</web-app>

...
上下文配置位置
...
javax.servlet.jsp.jstl.fmt.localizationContext
资源.应用
log4jConfigLocation
/WEB-INF/classes/config/log4j/log4j.properties
log4jRefreshInterval
1000
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.Log4jConfigListener
调度员
org.springframework.web.servlet.DispatcherServlet
1.
...
我添加了依赖项:

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.5.2</version>
    </dependency>

log4j
log4j
1.2.16
org.slf4j
slf4j-log4j12
1.5.2
但我有一些错误:

2011-02-14 03:14:49 org.apache.catalina.core.ApplicationContext log
INFO: Initializing log4j from [/home/adam/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/CarRentalMaven2XSLTJSPTiles2Tomcat/WEB-INF/classes/config/log4j/log4j.properties]
log4j:ERROR Could not instantiate class [ConversionPattern %d{ABSOLUTE} | %-5p | %t | %c | %m%n].
java.lang.ClassNotFoundException: ConversionPattern %d{ABSOLUTE} | %-5p | %t | %c | %m%n
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1671)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at org.apache.log4j.helpers.Loader.loadClass(Loader.java:198)
    at org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:326)
    at org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:123)
    at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:764)
    at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
    at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:395)
    at org.apache.log4j.PropertyWatchdog.doOnChange(PropertyConfigurator.java:922)
    at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:89)
    at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:58)
    at org.apache.log4j.PropertyWatchdog.<init>(PropertyConfigurator.java:914)
    at org.apache.log4j.PropertyConfigurator.configureAndWatch(PropertyConfigurator.java:461)
    at org.springframework.util.Log4jConfigurer.initLogging(Log4jConfigurer.java:106)
    at org.springframework.web.util.Log4jWebConfigurer.initLogging(Log4jWebConfigurer.java:144)
    at org.springframework.web.util.Log4jConfigListener.contextInitialized(Log4jConfigListener.java:47)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4544)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5016)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1035)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:738)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1035)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:289)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:442)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:674)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:596)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
2011-02-14 03:14:49 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListener
java.lang.IllegalArgumentException: Illegal pattern character 'l'
    at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:769)
    at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:576)
    at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:501)
    at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:476)
    at org.apache.log4j.DailyRollingFileAppender.activateOptions(DailyRollingFileAppender.java:226)
    at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)
    at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)
    at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)
    at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:809)
    at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
    at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:395)
    at org.apache.log4j.PropertyWatchdog.doOnChange(PropertyConfigurator.java:922)
    at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:89)
    at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:58)
    at org.apache.log4j.PropertyWatchdog.<init>(PropertyConfigurator.java:914)
    at org.apache.log4j.PropertyConfigurator.configureAndWatch(PropertyConfigurator.java:461)
    at org.springframework.util.Log4jConfigurer.initLogging(Log4jConfigurer.java:106)
    at org.springframework.web.util.Log4jWebConfigurer.initLogging(Log4jWebConfigurer.java:144)
    at org.springframework.web.util.Log4jConfigListener.contextInitialized(Log4jConfigListener.java:47)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4544)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5016)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1035)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:738)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1035)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:289)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:442)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:674)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:596)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
2011-02-14 03:14:49 com.sun.faces.config.WebConfiguration <init>
2011-02-14 03:14:49 org.apache.catalina.core.ApplicationContext日志
信息:从[/home/adam/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/CarRentalMaven2XSLTJSPTiles2Tomcat/WEB-INF/classes/config/log4j/log4j.properties]初始化log4j
log4j:错误无法实例化类[ConversionPattern%d{ABSOLUTE}|%-5p |%t |%c |%m%n]。
java.lang.ClassNotFoundException:转换模式%d{ABSOLUTE}|%-5p |%t |%c |%m%n
位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1671)
位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(Class.java:169)
位于org.apache.log4j.helpers.Loader.loadClass(Loader.java:198)
在org.apache.log4j.helpers.OptionConverter.instantialebyclassname上(OptionConverter.java:326)
在org.apache.log4j.helpers.OptionConverter.instancebykey上(OptionConverter.java:123)
位于org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:764)
位于org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
位于org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
位于org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
位于org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:395)
位于org.apache.log4j.PropertyWatchdog.doOnChange(PropertyConfigurator.java:922)
位于org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:89)
位于org.apache.log4j.helpers.FileWatchdog.(FileWatchdog.java:58)
位于org.apache.log4j.PropertyWatchdog(PropertyConfigurator.java:914)
位于org.apache.log4j.PropertyConfigurator.configureAndWatch(PropertyConfigurator.java:461)
位于org.springframework.util.log4jconfig.initLogging(log4jconfig.java:106)
位于org.springframework.web.util.log4jwebconfig.initLogging(log4jwebconfig.java:144)
位于org.springframework.web.util.Log4jConfigListener.contextInitialized(Log4jConfigListener.java:47)
位于org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4544)
位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5016)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
位于org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1035)
位于org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:738)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
位于org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1035)
位于org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:289)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
位于org.apache.catalina.core.StandardService.startInternal(StandardService.java:442)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
位于org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:674)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
位于org.apache.catalina.startup.catalina.start(catalina.java:596)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303)
位于org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
2011-02-14 03:14:49 org.apache.catalina.core.StandardContext listenerStart
严重:向类org.springframework.web.util.Log4jConfigListener的侦听器实例发送上下文初始化事件时发生异常
java.lang.IllegalArgumentException:非法模式字符“l”
位于java.text.simpleDataFormat.compile(simpleDataFormat.java:769)
在java.text.simpleDataFormat.initialize(simpleDataFormat.java:576)
位于java.text.simpleDataFormat。(simpleDataFormat.java:501)
位于java.text.simpleDataFormat。(simpleDataFormat.java:476)
位于org.apache.log4j.dailrollingfileappender.activateOptions(dailrollingfileappender.java:226)
位于org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)
位于org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)
位于org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)
位于org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:809)
位于org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
位于org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
位于org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
位于org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:395)
位于org.apache.log4j.PropertyWatchdog.doOnChange(PropertyConfigurator.java:922)
log4j.appender.out.layout=ConversionPattern %d{ABSOLUTE}
log4j.appender.out.layout.ConversionPattern=%d{ABSOLUTE}