日期:2014-05-17  浏览次数:20879 次

解决服务器上的apache和tomcat日志过大的问题

  今天服务器突然当机,发现是tomcat所在的磁盘已满,导致服务停止,查找发现是tomcat下面的stdout日志文件过大,已经填满整个磁盘。此文件主要是记录web应用中所有执行的sql语句和设定日志级别是info的输出信息。  关闭方法如下所示(window环境下):


1、修改注册表:将注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun\tomcat\Parameters\Log    中  StdOutput  的  auto 删掉 ;然后重启tomcat;

2、修改service.bat文件中 ' set PR_STDOUTPUT=auto ‘ (大概在第111行)的值为空;然后从系统服务中卸载tomcat,重新执行service.bat注册tomcat为系统服


另外apache下面的日志也可能会导致磁盘空间满,所以也需要对相应的日志文件进行限制,具体解决方法如下:

   1、控制错误日志(限制文件的大小只有10m)
      ErrorLog "|bin/rotatelogs.exe -l logs/error_%Y%m%d.log 10M"

   2、访问日志(每天生成一个访问日志)
      CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 86400" common