微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何旋转tomcat localhost日志?

如何解决如何旋转tomcat localhost日志?

不想 使用logrotate,还是您的系统管理员不允许您这样做?

鉴于这种限制,我恐怕(从我从文档中学到的知识)没有自动方法来做您想要的事情(仅根据大小旋转日志文件)。

如果您只想停止Tomcat 每天 创建新日志的认行为(我发现这对于开发环境或低流量站点非常烦人),则可以通过更改访问日志“ Valve” 的 属性来做到这一点。,它在Ubuntu Server上定义在 。对于Tomcat 6,它可能位于类似的位置。

由于您提到了严格的sys admin,因此我认为该服务器不受您的控制,因此该路径无关紧要。如果您确实能够修改Tomcat的日志配置,则希望您知道在哪里可以找到适当的文件

在该.xml文件中,在为您的站点的适当主机(在本例中为localhost)配置“ Catalina”引擎的部分中,查找 设置为“ org.apache.catalina.valves.AccessLogValve” 的Valve实体。尽管Tomcat 6文档没有提及它,但是可以推断出认的fileDateFormat为“ yyyy-MM- dd”。将日期包括在日志文件名中会告诉Tomcat(暗示)您也希望日志每天循环。如果您想使其轮换,例如每月仅旋转一次,只需将fileDateFormat更改为“ yyyy-MM”。

在我的服务器上,认的Logging Valve定义是:

<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" />

要将其更改为每月日志轮换,我只需添加适当的fileDateFormat属性

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           fileDateFormat="yyyy-MM" prefix="localhost_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

由于我能够(并愿意)使用logrotate,因此我已完全关闭了Tomcat的内置日志轮换和基于日期的文件命名,并且只要日志达到1MB,就可以使用logrotate来轮换日志。

为了回答dgrant的问题,将更改为/etc/tomcat7/server.xml,而我正在使用的实际阀门配置是这样的:

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
       pattern="combined" rotatable="false"
       prefix="access_log" />

请注意,“组合”模式与原始配置中的显式模式定义等效(至少对于Tomcat 7而言)。如果您想了解更多,所有这些都可以在我的原始文档链接中找到。只需在rotatable属性上查找该部分。

解决方法

我在Linux系统中使用tomcat
6x。它打印像本地主机的日志文件localhost.2011-06-07localhost.2011-06-08每天的基础上。我想在达到1MB时旋转localhost。

我可以为我的Web应用旋转log4j中的日志文件。但是这个tomcat的localhost日志文件,我无法使其旋转。除了使用logrotate以外,还有其他解决方案吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。