请看下面的解决方案,错误描述有点模糊,因为不知道出了什么问题。
我正在尝试在linux上部署一个新的tomcat7,以便稍后克隆整个机器,所以现在想要正确设置它。 Tomcat itsel正常启动,但是当试图通过将war文件复制到webapps目录来部署我们的应用程序时,catalina错误输出文件被大约50MB的FINE日志记录(请参阅下面的部分内容)淹没,并且没有任何内容被放入正常输出文件和普通日志文件。
使用tomcat docs(\ appdev \ sample \ sample.war)提供的sample.war文件不会发生同样的情况,它会以通常的一些日志行启动。
logging.properties文件是默认的文件,其中包含每个' FINE'替换为' INFO',并且每个其他tomcat文件也未被修改。
自定义的内容:tomcat是使用jsvc和自定义启动脚本运行的。 CATALINA_BASE
与CATALINA_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
,并且似乎无害的精细级别日志。
没有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
添加了设施特定属性,但没有成功
为什么日志会转到outfile而不是日志文件? sample.war的日志同时转到两者,但每次启动/停止只有一些行。 无论目的地是什么,为什么有任何FINE日志记录,当所有内容都设置为INFO?
所以请特别注意我可能做错了什么。我可以获得应用程序的来源并检查并修改其中的内容,但我不知道它的内部结构。即使其中存在错误,我也不认为此错误输出文件应该很大,并且日志记录应该可以使用默认配置正常工作。
答案 0 :(得分:0)
解决方案来自Mustafa Yuksel,描述here。这个人是英雄,我们遇到了完全相同的问题,我们几周都无法解决这些问题。
第一个问题是war文件没有使用org.apache.tomcat.util.digester.Digester
,实际上是org.apache.commons.digester.Digester.level
类使用了错误的记录器。这样您就可以使用
org.apache.commons.digester.Digester.level = INFO
第二个问题是我们在项目中有一个logging.properties,我们在war文件中包含了Eclipse。该项目包括一个我们不知道的额外logging.properties文件。包含的eclipse项目在/ WEB-INF / lib /中作为jar文件存在,所以你必须深入研究它们。