一尘不染

Tomcat localhost_access_log文件清理

tomcat

我们在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 &quot;%r&quot; %s %b" />

据我所读,Tomcat中没有使用OOTB的方式来清理旧的日志文件。如何清理旧的访问日志文件?


阅读 1376

收藏
2020-06-16

共1个答案

一尘不染

您可以轮换日志,然后选择要删除的日志文件

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" rotatable="true" renameOnRotate="true" pattern="%h %l %u %t &quot;%r&quot; %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"
2020-06-16