spring中log4j的配置问题
我的这个项目已经结束了(spring+webwork),但是以前可能太忙,前天早上的时
候我和往常一样打开tomcat发现项目中的log4j 的配置发现
log4j:WARN No appenders could be found for logger
(org.apache.commons.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.
这个警告一直都有,我没有在意,没有在意的原因是项目可以启动并正常运行,
并且日志的信息也能正常的输入到指定的文件,这两天我没有什么事,所以我就
开始解决这个警告,在网上看了很多文章,说是什么classpath下没有
log4j.properties 配置啊,还有web-inf下的classes下没有log4j.properties
等等。然后我开始动手自己写一个最简单的一个web应用,主要是解决这个log4j
的问题,两天的时间一无所获(我从事j 2ee开发不到一年,经验太肤浅了),
问题还是依旧,无奈公司太小,两天的时间也没有解决问题,我用的是webwork
没有用spring,出现的问题是一样的 web.xml 如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>JspSupportServlet</servlet-name>
<servlet-class>
com.opensymphony.webwork.views.JspSupportServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<filter>
<filter-name>webwork</filter-name>
<filter-class>
com.opensymphony.webwork.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>webwork</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
</web-app>
log4j.properties 如下
log4j.logger.com.test=DEBUG,stdout,A1
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=c:/test.log
log4j.appender.A1.MaxFileSize=1MB
log4j.appender.A1.MaxBackupIndex=5
log4j.appender.A1.Append=true
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ISO8601} - [%p] [%C{1}] - %m%n
相关的action如下:
package com.test;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.opensymphony.xwork.ActionSupport;
public class LoginAction extends ActionSupport {
private Log log= LogFactory.getLog(getClass());
public String login(){
log.debug("ok-----------------");
return SUCCESS;
}
}
action-servlet.xml 如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-lazy-init="true">
<bean id="loginAction" class="com.test.LoginAction" singleton="false">
</bean>
</beans>
xwork.xml 如下:
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1//EN"
"http://www.opensymphony.com/xwork/xwork-1.1.dtd">
<xwork>
<include file="webwork-default.xml"/>
<package name="default" extends="webwork-default">
<action name="login" class="com.test.LoginAction" method="login">
<result name="success">/aa.jsp</result>
</action>
</package>
</xwork>
index.jsp如下
<html>
<head>
</head>
<body>
<form action ="login.action" method="post">
<a href="login.action">adf</a>
<input type="text" name="name" id="name">
<input type="submit" name="submit" value="submit"/>
</form>
</body>
</html>
aa.jsp 如下: ok
只是为了解决log4j的问题所以我写的简单,运行的结果和以前的项目是一样的 我今天又运行了一遍在tomcat中的结果如下:
2008-4-18 10:31:04 org.apache.coyote.http11.Http11AprProtocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2008-4-18 10:31:04 org.apache.coyote.ajp.AjpAprProtocol init
信息: Initializing Coyote AJP/1.3 on ajp-8009
2008-4-18 10:31:04 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1063 ms
2008-4-18 10:31:05 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2008-4-18 10:31:05 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/5.5.23
2008-4-18 10:31:05 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
2008-4-18 10:31:06 org.apache.catalina.core.ApplicationContext log
信息: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
2008-4-18 10:31:06 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2008-4-18 10:31:06 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2008-4-18 10:31:06 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2008-4-18 10:31:06 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2008-4-18 10:31:07 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(E:\tomcat\apache-tomcat-5.5.23\webapps\log4jtest\WEB-INF\lib\jsp-api-2.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/jsp/JspPage.class
2008-4-18 10:31:07 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(E:\tomcat\apache-tomcat-5.5.23\webapps\log4jtest\WEB-INF\lib\servlet-api-2.4.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.
2008-4-18 10:31:08 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(E:\tomcat\apache-tomcat-5.5.23\webapps\userPV\WEB-INF\lib\jsp-api-2.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/jsp/JspPage.class
2008-4-18 10:31:08 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(E:\tomcat\apache-tomcat-5.5.23\webapps\userPV\WEB-INF\lib\servlet-api-2.4.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.
2008-4-18 10:31:09 org.apache.coyote.http11.Http11AprProtocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2008-4-18 10:31:09 org.apache.coyote.ajp.AjpAprProtocol start
信息: Starting Coyote AJP/1.3 on ajp-8009
2008-4-18 10:31:09 org.apache.catalina.storeconfig.StoreLoader load
信息: Find registry server-registry.xml at classpath resource
2008-4-18 10:31:09 org.apache.catalina.startup.Catalina start
信息: Server startup in 4828 ms
10:34:49,640 DEBUG LoginAction:11 - ok-----------------
可以看到日志输出的信息, 在c盘下的test.log中的信息如下:
2008-04-18 10:34:49,640 - [DEBUG] [LoginAction] - ok-----------------
我也知道我的logger配置的有问题,可我就是不知道那里出问题了
现在贴出来,希望高手指教一下我哪里错了。