如何停止Tomcat日志记录?

ws51t4hk  于 2023-04-21  发布在  其他
关注(0)|答案(3)|浏览(261)

Tomcat会自动做日志记录,日志文件都在/logs目录下,据我所知,logging属性是/conf/logging.properties,我怎么才能停止所有的日志记录呢?

lrl1mhuk

lrl1mhuk1#

要停止访问日志(默认Tomcat设置),请转到:

conf/server.xml

并删除以下配置:

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

要禁用公用日志,请转到:

conf/logging.properties

并注解以下行

handlers = 1catalina.org.apache.juli.FileHandler, .....
dpiehjr4

dpiehjr42#

不要启动Tomcat。没有Tomcat,就没有日志记录。
更严肃的是,不要。就是不要。这听起来像是一个当你离开、不在或不记得你做过什么时会引起问题的万全之策。
相反,安装一个日志旋转器,它会在N天后删除旧的日志文件。
还要确保Tomcat不会在catalina.out中写入太多内容,因为您不能旋转它。
为此,我修补了开始脚本并通过head -10000进行管道传输。

>> "$CATALINA_OUT" 2>&1 "&"

2>&1 | head -10000 >> "$CATALINA_OUT" &

如果在启动Tomcat时出现错误,我仍然会看到它,但是写入该文件的日志不会超过10'000行,所以它不会永远增长。
注意:简单地删除catalina.out是不起作用的。在Windows上,它会失败,因为它仍然是打开的。在Unix上,只有目录条目会被删除(除了打开它的处理程序之外,任何人都无法访问该文件)。该文件仍然会占用硬盘上的空间,并且它会继续增长。
相关文章:

3vpjnl9f

3vpjnl9f3#

我建议不要停止记录,而是通过这些步骤将其限制在固定数量。
1.在.../apache-tomcat.../conf/logging.properties中设置java.util.logging.ConsoleHandler.level = WARNING
1.在.../apache-tomcat.../bin/catalina.sh中,将每次提及的
>> "$CATALINA_OUT" 2>&1 "&"

2>&1 | tail -1000000 > "$CATALINA_OUT" &
或者,如果你想额外设置过滤器只写WARNING消息:
2>&1 | grep WARNING | tail -1000000 > "$CATALINA_OUT" &
因此,catalina.out将始终只包含最后1000000行日志。

相关问题