2010-11-07 1 views
60

Я хотел бы установить уровень регистрации в DEBUG в tomcat, но в консоли все же есть только INFO и WARN. Может ли кто-нибудь сказать мне, что случилось?Как установить уровень регистрации в DEBUG в Tomcat?

Мой C: \ \ 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 
+0

Для Tomcat 8 см: [Tomcat 8 включить ведение журнала отладки чтобы перечислить ненужные банки] (http://stackoverflow.com/q/24821865/55075) – kenorb

ответ

57

Во-первых, имя уровень использования является FINE, не DEBUG. Давайте предположим на минуту, что DEBUG на самом деле действует, как это делает следующее объяснение сделать немного больше смысла ...

В разделе Handler specific properties, вы устанавливаете уровень протоколирования для этих обработчиков DEBUG. Это означает, что обработчики будут обрабатывать любые сообщения журнала с уровнем DEBUG или выше. Это не обязательно означает, что сообщения DEBUG действительно передаются обработчикам.

В разделе Facility specific properties вы устанавливаете уровень ведения журнала для нескольких явных имен регистраторов на DEBUG. Для тех регистраторов ничего на уровне DEBUG или выше будет передаваться обработчикам.

Уровень регистрации по умолчанию - INFO, и кроме регистраторов, упомянутых в разделе Facility specific properties, все регистраторы будут иметь этот уровень.

Если вы хотите увидеть все FINE сообщения, добавьте это:

.level = FINE 

Однако, это будет генерировать огромное количество журнальных сообщений. Это, вероятно, более полезное, чтобы установить уровень ведения журнала для вашего кода:

your.package.level = FINE 

См протоколирование документации на Tomcat 6/Tomcat 7 для получения дополнительной информации. Файл пример logging.properties показано, использует FINE вместо DEBUG:

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

, а также дает примеры установки дополнительных уровней протоколирования:

# 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

Это работает! Большое спасибо, Ричард! – gennad

Смежные вопросы