在tomcat的conf/目录下,server.xml     中有关于访问日志的配置如下: 
<Valve   className= "org.apache.catalina.valves.FastCommonAccessLogValve " 
directory= "logs "   prefix= "localhost_access_log. "   suffix= ".txt " 
pattern= "combined "   resolveHosts= "false "   fileDateFormat= "yyyy-MM-dd.HH "   /> 
这个形式是每小时产生一个访问日志,我现在想一个日志达到10M大小以后,自动产生另外一个访问日志, 
不知道怎么配置啊? 
请大家指点!!谢谢

解决方案 »

  1.   

    这个恐怕要你自己实现一个日志记录类,并成功配置到tomcat上面(当然你可以利用现有的比较流行的日志记录工具,比如log4j)。tomcat自导的日志记录类工具不支持这样的功能。但是你可以通过修改fileDateFormat属性值来改变日志文件翻转的频率,能够近似的达到你的要求。比如你可以大致估算一下每天的访问量和由此产生的日志大小,然后设置成yyyy-MM-dd(每天产生一个)、yyyy-MM(每月产生一个)
      

  2.   

    谢谢楼上的指点,但是我也找了很多相关的log4j的资料,但是看了蒙蒙懂懂的,好象他们的例子程序都没有相关到我的问题内容,所以这对我来说很难下手了,我也按照资料提示的试的好几种方法(利用log4j)但是都没有得到结构啊!!
    请帮助~~~
      

  3.   

    再说一下,我现在是yyyy-MM-dd.HH的话 文件会太大,yyyy-MM-dd.HH.mm的话,文件太多 所以必须得按照大小来滚卷啊~~
      

  4.   

    log4j是可以按照文件大小来决定文件的翻转频率的。你可以到网上找到相关的资料。
      

  5.   

    现在log文件是能产生了,但是log文件内容是空啊!
    我的详细步骤是如下:
    1.将log4j-1.2.15.jar和commons-logging.jar放到WEB-INF/lib文件夹下面
    2.写个servlet如下:
    import javax.servlet.http.*;
    import org.apache.log4j.PropertyConfigurator;
    public class Log4jInit extends HttpServlet { 
    public void init() { 
    String prefix = getServletContext().getRealPath("/"); 
    String file = getInitParameter("Log4j-init-file"); 
    if(file != null) { 
    PropertyConfigurator.configure(prefix+file); 


    public void doGet(HttpServletRequest req, HttpServletResponse res) { 

    } 3.将配置文件Log4j.properties放到WEB-INF/classes下面 ,Log4j.properties内容如下
    log4j.rootLogger=INFO,A1,Rlog4j.appender.A1=org.apache.log4j.ConsoleAppender
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%nlog4j.appender.R=org.apache.log4j.FileAppender  
    log4j.appender.R.File=rolling.log 
    log4j.appender.R.Append=true 
    log4j.appender.R.MaxFileSize=10KB 
    log4j.appender.R.MaxBackupIndex=1 
    log4j.appender.R.layout=org.apache.log4j.PatternLayout 
    log4j.appender.R.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 4.重新配置web.xml文件,将servlet初始化,将下面那段加到web.xml中
    <servlet> 
    <servlet-name>Log4j-init</servlet-name> 
    <servlet-class>com.odao.util.Log4jInit</servlet-class> 
    <init-param> 
    <param-name>Log4j-init-file</param-name> 
    <param-value>WEB-INF/classes/Log4j.properties</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 我估计是Log4j.properties文件没配置正确,请指点,谢谢!
      

  6.   

    你的日志应该记录到rolling.log文件中了。