首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat 6 HTTP日志滚动和清除

Tomcat 6 HTTP日志滚动和清除
EN

Server Fault用户
提问于 2009-07-06 19:05:40
回答 3查看 4.3K关注 0票数 5

我们在Apache 6容器中运行我们的web应用程序。我们的代码使用SLF4J和Logback,滚动/清除非常好。Tomcat日志(catalina,stdout等)只需在Tomcat服务重启时删除即可。

问题是我们还在做一些HTTP日志记录。据任何人所知,它来自Tomcat server.xml文件中的这一行。

代码语言:javascript
复制
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve" directory="httplogs" pattern="combined" resolveHosts="false" prefix="" suffix=".log" rotatable="true" fileDateFormat="yyyy-MM-dd" />

它似乎旋转得很好,但从不清洗。是否有一种让Tomcat自动清除此操作的方法,或者是否需要修改重新启动脚本来清除httplogs目录?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2009-08-07 20:32:37

我建议使用cron作业(UNIX)或计划任务(Windows)清理日志文件。

首先确定你想把日志保存多久,一个星期,一个月,三个月?然后每天运行一个脚本,移除旧日志。在Unix上删除90天以上的日志文件:

代码语言:javascript
复制
find /path/to/httplogs/ -name "*.log" -type f -mtime +90 -exec rm -f {} \;

在windows上可以使用类似的命令(forfiles仅在某些版本上可用)

代码语言:javascript
复制
forfiles /p "C:\path\to\httplogs\" /s /m *.log /d -90 /c "cmd /c del @PATH"

阅读这些命令的在线文档,并在将它们放入生产环境之前了解和测试它们正在做什么。

如果这些日志有一个公共前缀,那么您可以将其添加到搜索掩码中,以便更具体地删除文件。或者,我通常会gzip旧文件,而不是删除它们,以防它们后来被证明是有用的。

票数 6
EN

Server Fault用户

发布于 2009-07-07 07:54:16

当您查看类的源代码(例如在谷歌的代码搜索中 )时,您可以看到根本没有清除。如果您身边的人可以编写一些代码行Java,您可以轻松地扩展类并添加所需的函数。

票数 1
EN

Server Fault用户

发布于 2009-07-07 04:25:33

我非常肯定,在tomcat服务重新启动时,需要清除其中一个日志以及您提到的其他日志。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/36554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档