【问题标题】:Tomcat Application Generating too many logsTomcat 应用程序生成太多日志
【发布时间】:2010-04-16 16:44:03
【问题描述】:

我有一个在 linux ubuntu 服务器上的 tomcat 6.0.20 服务器上运行的应用程序。

它会在catalina.out文件夹中生成大量日志,其中大部分是在使用应用程序时生成的,但不是应用程序生成的。

它生成的一些日志如下所示,

    Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester startElement
FINE: startElement(,,mime-type)
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester startElement
FINE:   Pushing body text '

        '
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester startElement
FINE:   New match='web-app/mime-mapping/mime-type'
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester startElement
FINE:   Fire begin() for CallParamRule[paramIndex=1, attributeName=null, from stack=false]
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester characters
FINE: characters(audio/x-mpeg)
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester endElement
FINE: endElement(,,mime-type)
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester endElement
FINE:   match='web-app/mime-mapping/mime-type'
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester endElement
FINE:   bodyText='audio/x-mpeg'
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester endElement
FINE:   Fire body() for CallParamRule[paramIndex=1, attributeName=null, from stack=false]
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester endElement
FINE:   Popping body text '

如何关闭它们?这非常重要,因为这是一个生产应用程序。

问候, 罗希特

【问题讨论】:

    标签: java tomcat6 logging


    【解决方案1】:

    当 logging.properties 也有 .level=INFO 时,我遇到了这个问题。

    问题原来是我的一个共享库中也有一个 logging.properties(并且这个设置为 .level=FINEST)。

    我通过编辑 catalina.properties 并确保包含 logging.properties 的目录位于 shared.loader 类路径的第一个位置,从而解决了这个问题。

    【讨论】:

      【解决方案2】:

      已经进行了这些更改,但这似乎没有帮助,

      I have already changed all the properties to SEVER and INFO, but the logs still keep on generating.
      
      ############################################################
      # Handler specific properties.
      # Describes specific configuration info for Handlers.
      ############################################################
      
      1catalina.org.apache.juli.FileHandler.level = SEVERE
      1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
      1catalina.org.apache.juli.FileHandler.prefix = catalina.
      
      2localhost.org.apache.juli.FileHandler.level = SEVERE
      2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
      2localhost.org.apache.juli.FileHandler.prefix = localhost.
      
      3manager.org.apache.juli.FileHandler.level = SEVERE
      3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
      3manager.org.apache.juli.FileHandler.prefix = manager.
      
      4host-manager.org.apache.juli.FileHandler.level = SEVERE
      4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
      4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
      
      java.util.logging.ConsoleHandler.level = SEVERE
      java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
      
      
      ############################################################
      # Facility specific properties.
      # Provides extra control for each logger.
      ############################################################
      
      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.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
      org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler
      
      # For example, set the com.xyz.foo logger to only log SEVERE
      # messages:
      #org.apache.catalina.startup.ContextConfig.level = FINE
      #org.apache.catalina.startup.HostConfig.level = FINE
      #org.apache.catalina.session.ManagerBase.level = FINE
      #org.apache.catalina.core.AprLifecycleListener.level=FINE
      -- INSERT --                                             
      

      【讨论】:

        【解决方案3】:

        这些语句是通过 Java 的内置记录器 (java.util.logger) 出现的。无论出于何种原因,您都将环境配置为记录级别“良好”的消息。此级别通常用于调试输出,是的,您通常不会在生产环境中将其保留。

        如果我没记错的话,Tomcat 使用文件conf/logging.properties 配置Java 记录器。您需要在生产中编辑它。有关文件含义的信息在这里:http://java.sun.com/javase/6/docs/technotes/guides/logging/overview.html

        但基本上你想将文件中出现的“FINE”替换为“INFO”。

        【讨论】:

          【解决方案4】:

          运行\Tomcat 8.0\bin\Tomcat8w.exe 在日志选项卡中,将重定向标准输出更改为空白“”;(默认为“自动”)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-09-25
            • 2021-03-15
            • 2020-03-10
            • 2010-10-29
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多