我们在Tomcat 8上运行了Solr。在不同的环境中,由于localhost_access_log文件填满了服务器而导致了问题。这些文件是由server.xml中的Access Valve Log创建的,其配置如下:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
据我所读,Tomcat中没有使用OOTB的方式来清理旧的日志文件。如何清理旧的访问日志文件?
您可以轮换日志,然后选择要删除的日志文件
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" rotatable="true" renameOnRotate="true" pattern="%h %l %u %t "%r" %s %b" />
由于旋转默认设置为true,因此您应该已经拥有它。然后您可以例如删除5天以上的日志:
要删除超过10天的日志文件,可以使用以下命令。
Unix find /path/to/httplogs/ -name "*.log" -type f -mtime +10 -exec rm -f {} \; For Windows Server OS: forfiles /p "C:\path\to\httplogs" /s /m *.log /d -10 /c "cmd /c del @PATH"