据我所知,这些模糊的日志消息与 Tomcat 的 Digester 日志记录组件相关联。有谁知道如何减少这些日志的冗长程度?
以下调试消息似乎无限期地重复,消息之间有 100-10,000 行,并且由于重复的上下文切换,我正在使用的应用程序的启动时间至少增加了 20 分钟(据我所知知道)。除了 Digester 消息外,没有任何痕迹。
这个模糊的调试消息对任何人来说看起来都正常吗?
2015-08-19 10:59:30,607 DEBUG [Digester] - < Fire end() for SetNextRule[methodName=addOperation, pa
ramType=org.apache.tomcat.util.modeler.OperationInfo]>
2015-08-19 10:59:30,607 DEBUG [Digester] - <[SetNextRule]{mbeans-descriptors/mbean/operation} Call o
rg.apache.tomcat.util.modeler.ManagedBean.addOperation(org.apache.tomcat.util.modeler.OperationInfo@
2f64a8b)>
2015-08-19 10:59:30,632 DEBUG [IntrospectionUtils] - <IntrospectionUtils: callMethod1 org.apache.tom
cat.util.modeler.ManagedBean org.apache.tomcat.util.modeler.OperationInfo org.apache.tomcat.util.mod
eler.OperationInfo>
2015-08-19 10:59:30,632 DEBUG [Digester] - < Fire end() for SetPropertiesRule[]>
2015-08-19 10:59:30,632 DEBUG [Digester] - < Fire end() for ObjectCreateRule[className=org.apache.t
omcat.util.modeler.OperationInfo, attributeName=null]>
2015-08-19 10:59:30,632 DEBUG [Digester] - <[ObjectCreateRule]{mbeans-descriptors/mbean/operation} P
op org.apache.tomcat.util.modeler.OperationInfo>
2015-08-19 10:59:30,632 DEBUG [sax] - <characters(
)>
2015-08-19 10:59:30,632 DEBUG [sax] - <startElement(,,operation)>
2015-08-19 10:59:30,632 DEBUG [Digester] - < Pushing body text '
这是我正在使用的 log4j.xml。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender class="org.apache.log4j.ConsoleAppender" name="stdout">
<layout class="my.log.SyslogPatternLayout">
<param value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} %t %-5p %m%n" name="ConversionPattern"/>
</layout>
<filter class="my.log.filter.DynamicLevelFilter">
<param name="useJmx" value="true" />
<param name="baseLogLevelName" value="logging.baselevel.core" />
</filter>
</appender>
<appender class="org.apache.log4j.net.SyslogAppender" name="syslog">
<param value="LOCAL4" name="facility"/>
<param value="localhost" name="SyslogHost"/>
<layout class="my.log.SyslogPatternLayout">
<param value="{%t} %N{loggingFeature}|%N{loggingComponent} [%D] - %p %m%n" name="ConversionPattern"/>
</layout>
</appender>
<logger name="com.mchange.v2">
<level value="info"/>
</logger>
<logger name="org.hibernate">
<level value="info"/>
</logger>
<logger name="org.springframework">
<level value="info"/>
</logger>
<logger name="net.sf.ehcache">
<level value="info"/>
</logger>
<root>
<level value="info"/>
<appender-ref ref="stdout"/>
<appender-ref ref="syslog"/>
</root>
</log4j:configuration>
*/tomcat/conf/logging.properties 文件具有以下内容:
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
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.
4host-manager.org.apache.juli.FileHandler.level = INFO
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
java.util.logging.ConsoleHandler.level = INFO
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 org.apache.catalina.util.LifecycleBase logger to log
# each component that extends LifecycleBase changing state:
#org.apache.catalina.util.LifecycleBase.level = INFO
# To see debug messages in TldLocationsCache, uncomment the following line:
#org.apache.jasper.compiler.TldLocationsCache.level = INFO
调试消息是如何进入的?我什至不希望这些日志出现在这里。
最佳答案
您想减少 tomcat 日志记录,对吗?删除 logging.properties 文件。从该附加程序中,删除包含 org.apache.log4j.net.SyslogAppender 的附加程序。整个一个。这将禁用您的 tomcat 日志记录。 Info也吐出很多信息是我观察到的。
关于java - 减少 log4j.xml 中 Tomcat Digester 记录器的冗长程度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32099259/