2012-10-04 34 views
13

Configuración: Eclipse Juno R, Tomcat 7.0.8, tomcat ejecuta a través de enchufe Eclipse en Tomcat configuración de lanzamiento de Eclipse tiene VM argumento -Djava.util.logging.config.file = "C: \ WS \ Serverlogs \ tomcat7 \ conf \ logging.properties" (Ref: Where can I view Tomcat log files in Eclipse?) Obteniendo error de seguimiento.Error en la configuración 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" 

hay errores similares para "1catalina.org.apache.juli.FileHandler", "2localhost.org.apache.juli.FileHandler" y otros. Entiendo que estas clases provienen de tomcat-juli.jar en/bin. Agregué este jar al classpath del servidor (Eclipse -> Servidores -> Abrir -> Abrir configuración de Lauch -> Classpath -> Entradas de usuario), pero obtuve el mismo error. Contenido de logging.properties son:

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 

Cualquier entrada/orientación es muy apreciada. Encontrados estos How to configure Tomcat JULI logging to roll log files? Local Tomcat Environment Not Starting , pero mi problema parece ser diferente.

Edit1 Adición "-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager" al argumento de VM servidor y cambiar "\" a "/" en los logging.properties hizo el truco. Gracias a Robin para el puntero de registro Tomcat FAQ

Gracias, VJ

+0

En windows con tomcat instalado como un servicio y usando el tomcat7w.exe para modificar las configuraciones en la pestaña Java> sección Opciones de Java; un único espacio después de '-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager' antes de que la nueva línea me diera el mismo problema. – vinnyjames

Respuesta

0

Puede comprobar el FAQ para esta Cuestión específica: http://wiki.apache.org/tomcat/FAQ/Logging

O puede usar otro logging.properties, por ejemplo éste:

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

Usar ConsoleAppender no es una opción para mí. Quiero que los registros se escriban en un archivo al que pueda hacer referencia más adelante. En cuanto a las preguntas frecuentes de registro 'para tomcat – vjkumar

+0

No es necesario que utilice la consolaAppender con seguridad. Esta es sólo una muestra. Aquí está el manual de Apache log4j http://logging.apache.org/log4j/1.2/manual.html. Encontrarás un FileAppender para Ejemplo. Esto agregará Log a un archivo .log. Mira este enlace: http://veerasundar.com/blog/2009/07/log4j-tutorial-how-to-send-the-log-messages-to-a-file/ – Robin

16

Asegúrese de que la siguiente propiedad del sistema se establece,

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

Como se ve here en la lista de correo de los usuarios de tomcat.

Tuve el mismo problema al iniciar tomcat con YAJSW en lugar de utilizar las secuencias de comandos de inicio de tomcat.

Cuestiones relacionadas