如何在Tomcat中将级别日志logging设置为DEBUG?

我想在tomcat中设置级别日志logging到DEBUG,但是在控制台中只有INFO和WARN输出。 有谁能告诉我什么是错的?

我的C:\ tomcat \ 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 DEBUGrmation 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 DEBUG for Handlers. ############################################################ 1catalina.org.apache.juli.FileHandler.level = DEBUG 1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 1catalina.org.apache.juli.FileHandler.prefix = catalina. 2localhost.org.apache.juli.FileHandler.level = DEBUG 2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 2localhost.org.apache.juli.FileHandler.prefix = localhost. 3manager.org.apache.juli.FileHandler.level = DEBUG 3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 3manager.org.apache.juli.FileHandler.prefix = manager. 4host-manager.org.apache.juli.FileHandler.level = DEBUG 4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 4host-manager.org.apache.juli.FileHandler.prefix = host-manager. java.util.logging.ConsoleHandler.level = DEBUG 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 = DEBUG org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = DEBUG org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = DEBUG 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 = DEBUG #org.apache.catalina.startup.HostConfig.level = DEBUG #org.apache.catalina.session.ManagerBase.level = DEBUG #org.apache.catalina.core.AprLifecycleListener.level=DEBUG 

我的日志示例:

 INFO: Deploying configuration descriptor manager.xml 08.11.2010 1:06:42 org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive spring-mvc-trial.war 08.11.2010 1:06:46 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory docs 08.11.2010 1:06:46 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory examples 08.11.2010 1:06:46 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory ROOT 08.11.2010 1:06:46 org.apache.coyote.http11.Http11AprProtocol start INFO: Starting Coyote HTTP/1.1 on http-8080 08.11.2010 1:06:46 org.apache.coyote.ajp.AjpAprProtocol start INFO: Starting Coyote AJP/1.3 on ajp-8009 08.11.2010 1:06:46 org.apache.catalina.startup.Catalina start INFO: Server startup in 3777 ms 08.11.2010 1:09:36 org.apache.coyote.http11.Http11AprProtocol pause INFO: Pausing Coyote HTTP/1.1 on http-8080 08.11.2010 1:09:36 org.apache.coyote.ajp.AjpAprProtocol pause INFO: Pausing Coyote AJP/1.3 on ajp-8009 08.11.2010 1:09:37 org.apache.catalina.core.StandardService stop INFO: Stopping service Catalina 08.11.2010 1:09:37 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc SEVERE: The web application [/spring-mvc-trial] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 08.11.2010 1:09:37 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/spring-mvc-trial] appears to have started a thread named [MySQL Statement Cancellation Timer] but has failed to stop it. This is very likely to create a memory leak. 08.11.2010 1:09:38 org.apache.coyote.http11.Http11AprProtocol destroy INFO: Stopping Coyote HTTP/1.1 on http-8080 08.11.2010 1:09:38 org.apache.coyote.ajp.AjpAprProtocol destroy INFO: Stopping Coyote AJP/1.3 on ajp-8009 

首先,要使用的级别名称是FINE ,而不是DEBUG 。 让我们假设一下DEBUG实际上是有效的,因为它使下面的解释更有意义…

在“ Handler specific properties部分中,您将这些处理程序的日志logging级别设置为DEBUG 。 这意味着处理程序将处理任何具有DEBUG级别或更高级别的日志消息。 这并不意味着任何DEBUG消息实际上都会传递给处理程序。

Facility specific properties部分,您将一些明确命名的logging器的logging级别设置为DEBUG 。 对于那些伐木工, DEBUG或以上级别的任何东西都会传递给处理程序。

默认的日志logging级别是INFO ,除了Facility specific properties部分中提到的logging器之外,所有logging器都将具有该级别。

如果你想看到所有的FINE消息,添加这个:

 .level = FINE 

但是,这会产生大量的日志消息。 为您的代码设置日志级别可能更有用:

 your.package.level = FINE 

有关更多信息,请参阅Tomcat 6 / Tomcat 7日志logging文档。 在那里显示的示例logging.properties文件使用FINE而不是DEBUG

 ... 1catalina.org.apache.juli.FileHandler.level = FINE ... 

还给出了设置其他日志logging级别的示例:

 # 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