2012-10-04 18 views
13

Setup: Eclipse Juno R, Tomcat 7.0.8, Tomcat eseguito attraverso il tappo di Eclipse in Tomcat configurazione di lancio da Eclipse ha VM argomento -Djava.util.logging.config.file = "C: \ WS \ Serverlogs \ tomcat7 \ conf \ logging.properties" (Rif: Where can I view Tomcat log files in Eclipse?) Errore di inseguimento.Errore durante la configurazione di 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" 

Non ci sono errori simili per "1catalina.org.apache.juli.FileHandler", "2localhost.org.apache.juli.FileHandler" e altri. Capisco che queste classi provengano da tomcat-juli.jar in/bin. Ho aggiunto questo jar al classpath del server (Eclipse -> Servers -> Open -> Open Lauch configuration -> Classpath -> User Entries), ma ho ottenuto lo stesso errore. Contenuto logging.properties sono:

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 

Qualsiasi ingresso/guida è più apprezzata. Trovato questi How to configure Tomcat JULI logging to roll log files? Local Tomcat Environment Not Starting , ma il mio problema sembra essere diverso.

Edit1 Aggiungendo "-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager" all'argomento VM del server e che cambia "\" a "/" nei logging.properties ha fatto il trucco. Grazie a Robin per il puntatore per Tomcat Registrazione FAQ

Grazie, VJ

+0

Su Windows con tomcat installato come servizio e utilizzando tomcat7w.exe per modificare le impostazioni nella scheda Java> sezione Opzioni Java; un singolo spazio dopo '-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager' prima che la nuova riga mi desse lo stesso problema. – vinnyjames

risposta

0

È possibile controllare le FAQ per questo specifico Domanda: http://wiki.apache.org/tomcat/FAQ/Logging

Oppure è possibile utilizzare un altro logging.properties, per questo esempio:

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

Uso di ConsoleAppender non è un'opzione per me. Voglio che i log vengano scritti in un file a cui posso fare riferimento in un secondo momento. Guardare le FAQ di registrazione 'per tomcat – vjkumar

+0

Non è necessario utilizzare sicuramente la ConsoleAppender. Questo è solo un esempio. Ecco il manuale di Apache log4j http://logging.apache.org/log4j/1.2/manual.html. Troverete un FileAppender per esempio. Questo ti aggiungerà Accedi a un file .log. Controlla questo link: http://veerasundar.com/blog/2009/07/log4j-tutorial-how-to-send-the-log-messages-to-a-file/ – Robin

16

Assicurarsi seguente sistema è impostato,

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

Come visto here sulla mailing list degli utenti di tomcat.

Ho avuto lo stesso problema all'avvio di tomcat con YAJSW anziché utilizzare gli script di avvio di tomcat.

Problemi correlati