web-dev-qa-db-ja.com

TomcatでレベルロギングをDEBUGに設定する方法は?

Tomcatではレベルロギングを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
65
gennad

まず、使用するレベル名は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
68
Richard Fearn