解决服务器上的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