2010-11-07 21 views
60

Me gustaría establecer el registro de nivel para DEPURAR en tomcat, pero en la consola, sin embargo, solo INFO y ADVERTENCIA de salida. ¿Alguien podría decirme qué pasa?¿Cómo establecer el registro de nivel para DEPURAR en Tomcat?

Mi 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 

ejemplo de mi registro:

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 
+0

Para Tomcat 8, ver: [8 Tomcat habilitar el registro de depuración para enumerar jar innecesarios] (http://stackoverflow.com/q/24821865/55075) – kenorb

Respuesta

57

En primer lugar, el nombre del nivel de utilizar es FINE, no DEBUG. Supongamos por un momento que DEBUG es realmente válida, ya que hace que la siguiente explicación hacer un poco más de sentido ...

En la sección Handler specific properties, se está configurando el nivel de registro para los manipuladores de DEBUG. Esto significa que los manejadores manejarán cualquier mensaje de registro con el nivel DEBUG o superior. No significa necesariamente que ningún mensaje DEBUG se esté pasando a los controladores.

En la sección Facility specific properties, está configurando el nivel de registro para algunos registradores explícitamente nombrados en DEBUG. Para esos registradores, cualquier cosa en el nivel DEBUG o superior pasará a a los controladores.

El nivel de registro predeterminado es INFO, y aparte de los registradores mencionados en la sección Facility specific properties, todos los registradores tendrán ese nivel.

Si desea ver todos los mensajes FINE, añadir lo siguiente:

.level = FINE 

Sin embargo, esto va a generar una gran cantidad de mensajes de registro. Es probable que sea más útil para establecer el nivel de registro para su código:

your.package.level = FINE 

Consulte la documentación de registro Tomcat 6/Tomcat 7 para más información. El archivo de ejemplo se muestra logging.properties no utiliza FINE en lugar de DEBUG:

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

y también le da ejemplos de configuración de los niveles de registro adicionales:

# 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 
+0

¡Funciona! Muchas gracias, Richard! – gennad

Cuestiones relacionadas