gpt4 book ai didi

Tomcat 在 webapp 启动时产生过多的输出

转载 作者:行者123 更新时间:2023-11-28 22:31:06 26 4
gpt4 key购买 nike

请看下面的解决方案,错误描述有点模糊,因为不知道出了什么问题。

我正在尝试在 linux 上部署一个新的 tomcat7,以便稍后克隆整个机器,所以现在想正确设置它。 Tomcat itsel 正常启动,但是当尝试通过将 war 文件复制到 webapps 目录来部署我们的应用程序时,catalina 错误输出文件被大约 50MB 的 FINE 日志记录淹没(请参阅下面的一部分),并且没有任何内容放入正常的输出文件和正常的日志文件。

tomcat 文档 (\appdev\sample\sample.war) 提供的 sample.war 文件不会发生同样的情况,它以通常的几行日志开始。

logging.properties 文件是默认文件,每个“FINE”都替换为“INFO”,其他所有 tomcat 文件也未修改。

是什么定制的:tomcat 使用 jsvc 和定制的启动脚本运行。 CATALINA_BASECATALINA_HOME分开并且tomcat以非root用户运行。编辑:不确定是否重要,但启动脚本设置了这些关于日志记录的启动参数:-Djava.util.logging.config.file=<logging.proprties' path>
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
控制台输出和控制台输出错误也由启动脚本设置。

错误文件的大部分内容来自类 org.apache.tomcat.util.digester.Digester并且看起来无害的 FINE 级别日志。

没有 SEVERE、ERROR 日志,并且有一个关于某些未设置语言环境的警告,下面是这个警告,但它们几乎在日志的末尾:

Jul 31, 2013 12:34:24 PM org.apache.myfaces.component.html.util.ExtensionsFilter <init>
WARNING: Please adjust your web.xml to use org.apache.myfaces.webapp.filter.ExtensionsFilter

logging.properties 现在看起来像这样:

handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler
.handlers = 1catalina.org.apache.juli.FileHandler

############################################################
# Handler specific properties.

1catalina.org.apache.juli.FileHandler.level = INFO
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = INFO
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = INFO
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.

############################################################
# Facility specific properties.

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler

org.apache.commons.digester.Digester.[Catalina].level = INFO
org.apache.commons.digester.Digester.[Catalina].handlers = 1catalina.org.apache.juli.FileHandler

org.apache.commons.digester.Digester.[Catalina].[localhost].level = INFO
org.apache.commons.digester.Digester.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

org.apache.commons.digester.Digester.[Catalina].[localhost].[/manager].level = INFO
org.apache.commons.digester.Digester.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler

EDIT2:为 org.apache.tomcat.util.digester.Digester 添加设施特定属性但没有成功


为什么日志转到输出文件,而不是日志文件? sample.war 的日志记录到两者,但每次启动/停止只有几行。无论目的地如何,当所有内容都设置为 INFO 时,为什么会有任何 FINE 日志记录?

所以请告诉我我可能做错了什么。我可以获得应用程序的源代码并检查并可能修改其中的内容,但我不知道它的内部结构。即使其中有错误,我认为这个错误输出文件不应该这么大,并且日志记录应该使用默认配置正常工作。

最佳答案

解决方案来自 Mustafa Yuksel,描述为 here .这家伙是个英雄,我们遇到了完全相同的问题,但我们几周都无法解决。

第一个问题是 war 文件没有使用 org.apache.tomcat.util.digester.Digester,它实际上是 org.apache.commons.digester.Digester .level 类使用了错误的记录器。这样您就可以使用以下行屏蔽 FINE 日志记录

org.apache.commons.digester.Digester.level = INFO

第二个问题是我们在一个项目中有一个 logging.properties,我们将 Eclipse 包含在我们的 war 文件中。该项目包含一个我们不知道的附加 logging.properties 文件。包含的 eclipse 项目以 jar 文件的形式存在于/WEB-INF/lib/中,因此您必须深入研究这些项目。

关于Tomcat 在 webapp 启动时产生过多的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17968907/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com