2012-10-04 34 views
13

設置:的Eclipse朱諾R,Tomcat的7.0.8,Tomcat的通過Eclipse插件在運行 Tomcat啓動從蝕配置具有VM參數 -Djava.util.logging.config.file =「C:\ WS \ Serverlogs \ tomcat7 \ conf \ logging.properties」 (Ref:Where can I view Tomcat log files in Eclipse?) 獲取跟隨錯誤。錯誤在Eclipse的Tomcat的設置 - ClassNotFoundException的 「1catalina.org.apache.juli.FileHandler」

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 

任何輸入/指導最讚賞。 發現這些 How to configure Tomcat JULI logging to roll log files? Local Tomcat Environment Not Starting ,但我的問題似乎有所不同。

EDIT1 添加 「-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager」 到服務器的VM參數和變化的 「\」 爲 「/」,在logging.properties奏效了。 感謝羅賓指針到Tomcat日誌的FAQ

謝謝 VJ

+0

在安裝了tomcat作爲服務並使用tomcat7w.exe修改Java選項卡> Java選項部分中的設置的窗口上;在'-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager'之後的一個空格之前,新行給了我同樣的問題。 – vinnyjames

回答

0

您可以查看常見問題解答這個具體的問題: 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 
+0

使用ConsoleAppender不適合我。我想把日誌寫入一個我可以在以後參考的文件中。查看tomcat的日誌記錄FAQ' – vjkumar

+0

當然你不必使用ConsoleAppender。這只是一個例子。這裏是Apache log4j http://logging.apache.org/log4j/1.2/manual.html的手冊。你會發現有一個FileAppender的例子。這會添加您登錄到.log文件。檢查這個鏈接:http://veerasundar.com/blog/2009/07/log4j-tutorial-how-to-send-the-log-messages-to-a-file/ – Robin

16

確保以下系統屬性設置,

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 

在tomcat用戶郵件列表上可以看到here

我使用YAJSW而不是使用tomcat啓動腳本啓動tomcat時出現同樣的問題。