セットアップ: Eclipse Juno R、Tomcat 7.0.8、TomcatはEclipseプラグインを介して実行されます。EclipseからのTomcat起動構成にはVM引数があります-Djava.util.logging.config.file = "C:\ WS\Serverlogs\Tomcat7\conf\logging.properties"(参照: EclipseのTomcatログファイルはどこで表示できますか? )次のエラーが発生します。
Can't load log handler "1catalina.org.Apache.juli.FileHandler"
Java.lang.ClassNotFoundException: 1catalina.org.Apache.juli.FileHandler
Java.lang.ClassNotFoundException: 1catalina.org.Apache.juli.FileHandler
at Java.net.URLClassLoader$1.run(Unknown Source)
at Java.net.URLClassLoader$1.run(Unknown Source)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.net.URLClassLoader.findClass(Unknown Source)
at Java.lang.ClassLoader.loadClass(Unknown Source)
at Sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at Java.lang.ClassLoader.loadClass(Unknown Source)
at Java.util.logging.LogManager$3.run(Unknown Source)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.util.logging.LogManager.loadLoggerHandlers(Unknown Source)
at Java.util.logging.LogManager.addLogger(Unknown Source)
at Java.util.logging.LogManager$1.run(Unknown Source)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.util.logging.LogManager.<clinit>(Unknown Source)
at Java.util.logging.Logger.getLogger(Unknown Source)
at org.Apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.Java:71)
at org.Apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.Java:196)
at org.Apache.juli.logging.LogFactory.getInstance(LogFactory.Java:170)
at org.Apache.juli.logging.LogFactory.getInstance(LogFactory.Java:242)
at org.Apache.juli.logging.LogFactory.getLog(LogFactory.Java:293)
at org.Apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.Java:57)
Can't load log handler "1catalina.org.Apache.juli.FileHandler"
「1catalina.org.Apache.juli.FileHandler」、「2localhost.org.Apache.juli.FileHandler」などにも同様のエラーがあります。これらのクラスは/ binのTomcat-juli.jarからのものであることを理解しています。このjarをサーバーのクラスパスに追加しました(Eclipse->サーバー->開く-> Lauch構成を開く->クラスパス->ユーザーエントリ)が、同じエラーが発生しました。 logging.propertiesの内容は次のとおりです。
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
1catalina.org.Apache.juli.FileHandler.level = FINE
1catalina.org.Apache.juli.FileHandler.directory = C:\WS\Serverlogs\Tomcat7/logs
1catalina.org.Apache.juli.FileHandler.prefix = catalina.
2localhost.org.Apache.juli.FileHandler.level = FINE
2localhost.org.Apache.juli.FileHandler.directory = C:\WS\Serverlogs\Tomcat7/logs
2localhost.org.Apache.juli.FileHandler.prefix = localhost.
3manager.org.Apache.juli.FileHandler.level = FINE
3manager.org.Apache.juli.FileHandler.directory = C:\WS\Serverlogs\Tomcat7/logs
3manager.org.Apache.juli.FileHandler.prefix = manager.
4Host-manager.org.Apache.juli.FileHandler.level = FINE
4Host-manager.org.Apache.juli.FileHandler.directory = C:\WS\Serverlogs\Tomcat7/logs
4Host-manager.org.Apache.juli.FileHandler.prefix = Host-manager.
Java.util.logging.ConsoleHandler.level = FINE
Java.util.logging.ConsoleHandler.formatter = Java.util.logging.SimpleFormatter
org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.Apache.juli.FileHandler
org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.Apache.juli.FileHandler
org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].[/Host-manager].level = INFO
org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].[/Host-manager].handlers = 4Host-manager.org.Apache.juli.FileHandler
任意の入力/ガイダンスは大歓迎です。これらが見つかりました ログファイルをロールするようにTomcat JULIログを構成する方法ローカルTomcat環境が起動していません 、しかし私の問題は異なっているようです。
Edit1サーバーのVM引数に「-Djava.util.logging.manager = org.Apache.juli.ClassLoaderLogManager」を追加し、ログで「\」を「/」に変更します。プロパティがトリックを行いました。 TomcatロギングFAQへのポインタを提供してくれたRobinに感謝します
ありがとう、VJ
次のシステムプロパティが設定されていることを確認します。
-Djava.util.logging.manager=org.Apache.juli.ClassLoaderLogManager
見られるように ここ Tomcatユーザーのメーリングリスト。
Tomcat起動スクリプトを使用する代わりに [〜#〜] yajsw [〜#〜] を使用してTomcatを起動するときに同じ問題が発生しました。
この特定の質問についてはFAQ)を確認できます: http://wiki.Apache.org/Tomcat/FAQ/Logging
または、次のような別のlogging.propertiesを使用することもできます。
log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.Apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.Apache.log4j.PatternLayout
# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
# Print only messages of level WARN or above in the package com.foo.
log4j.logger.com.foo=WARN