关闭在tomcat上运行的应用程序对控制台的日志记录

9bfwbjaz  于 2021-10-10  发布在  Java
关注(0)|答案(2)|浏览(558)

我有一个在tomcat服务器上运行的遗留服务。我不想接触这个服务(我不确定我会怎么做),但我知道这个服务在tomcat服务器控制台(运行startup.bat时出现的控制台)上打印了很多日志。我认为这些日志会导致服务速度变慢,我想以某种方式配置tomcat服务器,以便在tomcat服务器上运行的webapps不会在控制台上打印任何日志。如果可能的话,我不想改变服务。谢谢你的帮助。

u91tlkcl

u91tlkcl1#

完全关闭日志记录通常是个坏主意。这篇文章中有一些指导:如何停止tomcat日志记录?
您还可以尝试降低日志详细级别,以过滤掉除严重日志之外的所有日志,这样,如果将来确实发生了不好的事情,至少严重消息可能会帮助您找到正确的方向。tomcat文档可在http://tomcat.apache.org 如果您想尝试调整日志详细级别,这将非常有用。

lkaoscv7

lkaoscv72#

tomcat服务器的日志记录可以在[ conf/logging.properties ] (https://github.com/apache/tomcat/blob/master/conf/logging.properties)通过删除 java.util.logging.ConsoleHandler 处理程序。修改行:

.handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler

.handlers = 1catalina.org.apache.juli.AsyncFileHandler

这实际上是生产服务器的一个良好实践:
ApacheTomcat中的默认日志配置将相同的消息写入控制台和日志文件。这在使用tomcat进行开发时非常好,但在生产中通常不需要。
(参见登录tomcat)
但是,tomcat服务器本身的日志消息并不十分详细。写入标准输出/错误的数据量可能是由于:
“登录”到的旧应用程序 System.out / System.err 而不是一个合适的日志框架。在tomcat中,您可以将这些消息重定向到设置 swallowOutput 上下文的属性为true(参见此问题),
其他日志框架,如log4j或logback,配置为记录到标准输出/错误。对于这些,您只需修改它们的配置文件。

相关问题