我在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

解决方案 »

  1.   

    干吗写在jsp里!!
    回去改掉,写到bean或者servlet里。
      

  2.   

    楼上,jsp不能用log4j吗?
    我以前好象弄成过的.
      

  3.   

    这回是servlet也没有成功呀,网页打出了test,也没报错.同jsp一样就是看不到日志呀.那位老大配好了,打包发到我邮箱好不好,多谢[email protected] class LogTest extends HttpServlet{
    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");
    }
    }
      

  4.   

    PropertyConfigurator.configure("log4j.properties的位置/log4j.properties");
    static Logger logger = Logger.getLogger("LogTest.class.getName()"); 
    logger.info("log4j at servlet");
      

  5.   

    严重支持一楼,在JSP里写log4j本来就是个错误!