如何停止 Tomcat 日志记录?

Cac*_*ing 7 logging tomcat

Tomcat 自动进行日志记录,日志文件都在/logs目录下。据我所知,日志记录属性是/conf/logging.properties. 我怎样才能停止所有日志记录?

Mos*_*afa 5

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

conf/server.xml
Run Code Online (Sandbox Code Playgroud)

并删除以下配置:

    <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" />
Run Code Online (Sandbox Code Playgroud)

要禁用公共日志,请转至:

conf/logging.properties
Run Code Online (Sandbox Code Playgroud)

并评论以下行

handlers = 1catalina.org.apache.juli.FileHandler, .....
Run Code Online (Sandbox Code Playgroud)


Aar*_*lla 0

不要启动 Tomcat。没有 Tomcat,没有日志记录。

更严肃地说,不要。只是不要。这听起来像是一个万无一失的方法,当你离开、没空或不再记得你做了什么时,就会出现问题。

相反,安装一个日志轮转器,它会在 N 天后删除旧的日志文件。

还要确保 Tomcat 不会写入太多内容,catalina.out因为您无法旋转它。

为此,我修补了启动脚本并通过管道传输head -10000。替换这个

>> "$CATALINA_OUT" 2>&1 "&"
Run Code Online (Sandbox Code Playgroud)

2>&1 | head -10000 >> "$CATALINA_OUT" &
Run Code Online (Sandbox Code Playgroud)

如果启动 Tomcat 时出现错误,我仍然会看到它。但写入该文件的日志不会超过 10'000 行,因此它不会永远增长。

注意:单纯删除catalina.out是行不通的。在 Windows 上,它会失败,因为它仍然打开。在 Unix 上,只有目录条目将被删除(使得除了已打开该文件的已处理文件之外的任何人都无法访问该文件)。该文件仍会占用硬盘空间,并且会继续增长。

相关文章: