我在jsp中使用log4j,将log4j.properties(这一文件在普通application应用没有错误)放在WEB-INF/classes中.没有报错,但没有按我预定的生成日志文件.
也不是找不到相应的包,如果找不到的话会报classnotfound,说明相关包在类路径中.前段时间也配置了一次,好象是成功,可现在记不起当时是怎么搞的.index.jsp
<%@ page contentType="text/html;charset=gbk" import="org.apache.log4j.*,org.apache.commons.logging.*"%>
<%
out.println("<h1>log start</h1>");
Log log=LogFactory.getLog("index.jsp");
log.info("log4j in tomcat");
out.println("<h1>log end</h1>");
%>
-----------------------------------------
log4j.properties
log4j.rootLogger=info,R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/webapps/logtest/temp.log
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=1
#log4j.appender.R.layout=org.apache.log4j.HTMLLayout
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
也不是找不到相应的包,如果找不到的话会报classnotfound,说明相关包在类路径中.前段时间也配置了一次,好象是成功,可现在记不起当时是怎么搞的.index.jsp
<%@ page contentType="text/html;charset=gbk" import="org.apache.log4j.*,org.apache.commons.logging.*"%>
<%
out.println("<h1>log start</h1>");
Log log=LogFactory.getLog("index.jsp");
log.info("log4j in tomcat");
out.println("<h1>log end</h1>");
%>
-----------------------------------------
log4j.properties
log4j.rootLogger=info,R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/webapps/logtest/temp.log
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=1
#log4j.appender.R.layout=org.apache.log4j.HTMLLayout
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
回去改掉,写到bean或者servlet里。
我以前好象弄成过的.
public void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException{
Log log=LogFactory.getLog("LogTest");
log.info("log4j at servlet!");
resp.setContentType("text/html;charset=gbk");
PrintWriter out=resp.getWriter();
out.println("test");
}
}
static Logger logger = Logger.getLogger("LogTest.class.getName()");
logger.info("log4j at servlet");