Comment définir la journalisation de niveau sur DEBUG dans Tomcat?

Je voudrais mettre le niveau de journalisation à DEBUG dans tomcat mais dans la console néanmoins seulement INFO et WARN sortie. Quelqu’un pourrait-il me dire ce qui ne va pas?

Mon C: \ tomcat \ logging.properties:

# Licensed to the Apache Software Foundation (ASF) under one or more # consortingbutor license agreements. See the NOTICE file dissortingbuted 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 # dissortingbuted under the License is dissortingbuted 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 

Exemple de mon journal:

 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-sortingal.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-sortingal] 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-sortingal] 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 

Tout d’abord, le nom de niveau à utiliser est FINE , pas DEBUG . Supposons un instant que DEBUG soit réellement valide, car cela donne un peu plus de sens à l’explication suivante …

Dans la section Handler specific properties , vous définissez le niveau de consignation pour ces gestionnaires sur DEBUG . Cela signifie que les gestionnaires traiteront tous les messages de journal avec le niveau DEBUG ou supérieur. Cela ne signifie pas nécessairement que tous les messages DEBUG sont effectivement transmis aux gestionnaires.

Dans la section Facility specific properties , vous définissez le niveau de consignation de quelques enregistreurs explicitement nommés sur DEBUG . Pour ces enregistreurs, tout ce qui est au niveau DEBUG ou supérieur sera transmis aux gestionnaires.

Le niveau de journalisation par défaut est INFO , et hormis les enregistreurs mentionnés dans la section des Facility specific properties , tous les enregistreurs auront ce niveau.

Si vous voulez voir tous les messages FINE , ajoutez ceci:

 .level = FINE 

Cependant, cela générera une grande quantité de messages de journal. Il est probablement plus utile de définir le niveau de consignation de votre code:

 your.package.level = FINE 

Reportez-vous à la documentation de consignation Tomcat 6 / Tomcat 7 pour plus d’informations. Le fichier exemple logging.properties montré ici utilise FINE au lieu de DEBUG :

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

et vous donne également des exemples de définition de niveaux de journalisation supplémentaires:

 # 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