Tomcat crea una salida excesiva en el inicio de WebApp -- tomcat campo con tomcat7 camp Relacionados El problema

Tomcat creates excessive output at webapp startup


2
vote

problema

Español

Consulte la solución a continuación, la descripción del error es un poco difusa, ya que no tenía idea de lo que estaba mal.

Estoy tratando de implementar un nuevo Tomcat7 en Linux, para más tarde, toda la máquina se clonará, así que quisiera configurarlo correctamente ahora. Tomcat itsel se inicia correctamente, pero al intentar implementar nuestra aplicación copiando el archivo de guerra en la web de WebApps, el archivo de error de error catalina se inunda por alrededor de 50 MB de registro fino (consulte una parte de la misma), y nada se pone en El archivo de salida normal y el archivo de registro normal.

Lo mismo no sucede con el archivo de muestra. LOS ARCHIVO SIGUIENTE CON EL TOMCAT DOCS ( Appdev Sample Sample.War), se inicia con las siguientes líneas de registro.

El archivo de logging.properties es el predeterminado con cada 'Fino' reemplazado con 'Info', y todos los demás archivos Tomcat tampoco se desembolsan.

Qué es personalizado: el Tomcat se ejecuta con JSVC y un script de inicio personalizado. CATALINA_BASE está separado de CATALINA_HOME y Tomcat se ejecuta con un usuario no root. Editar: No estoy seguro de si importa, pero la secuencia de comandos de inicio establece estos parámetros de inicio con respecto al registro: -Djava.util.logging.config.file=<logging.proprties' path> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager y también el error de la consola y la consola OUT están configuradas por el script de inicio.

La mayoría del contenido del archivo de error proviene de la clase org.apache.tomcat.util.digester.Digester y parece un registro de nivel fino inofensivo.

No hay registros graves, de errores, y hay una advertencia con respecto a algunos logiles de UNSET, y esta a continuación, pero están casi al final del registro:

  Jul 31, 2013 12:34:24 PM org.apache.myfaces.component.html.util.ExtensionsFilter <init> WARNING: Please adjust your web.xml to use org.apache.myfaces.webapp.filter.ExtensionsFilter   

La logging.properties se ve así ahora:

  handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler .handlers = 1catalina.org.apache.juli.FileHandler  ############################################################ # Handler specific properties.  1catalina.org.apache.juli.FileHandler.level = INFO 1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 1catalina.org.apache.juli.FileHandler.prefix = catalina.  2localhost.org.apache.juli.FileHandler.level = INFO 2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 2localhost.org.apache.juli.FileHandler.prefix = localhost.  3manager.org.apache.juli.FileHandler.level = INFO 3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 3manager.org.apache.juli.FileHandler.prefix = manager.  ############################################################ # Facility specific properties.  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.commons.digester.Digester.[Catalina].level = INFO org.apache.commons.digester.Digester.[Catalina].handlers = 1catalina.org.apache.juli.FileHandler  org.apache.commons.digester.Digester.[Catalina].[localhost].level = INFO org.apache.commons.digester.Digester.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler  org.apache.commons.digester.Digester.[Catalina].[localhost].[/manager].level = INFO org.apache.commons.digester.Digester.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler   

Editar2: Propiedades específicas de la instalación agregada para org.apache.tomcat.util.digester.Digester pero sin éxito


¿Por qué el registro vaya al aire libre y no en el archivo de registro? La muestra. El registro de toda la guerra se dirige a ambos, pero es solo algunas líneas por inicio / parada. Independientemente del destino, ¿por qué hay algún registro fino, cuando todo esté configurado en información?

Por favor, amablemente, conjuntamente lo que podría estar haciendo mal. Puedo obtener la fuente de la aplicación y verificar y tal vez modificar cosas en ella, pero no estoy al tanto de sus internales. Incluso si hay errores en él, no creo que este archivo de salida de error sea necesario, y el registro debe funcionar correctamente con la configuración predeterminada.

Original en ingles

Please see the solution below, the error description is a bit fuzzy since did not have any idea what was wrong.

I am trying to deploy a new tomcat7 on linux, for later the whole machine to be cloned, so would like to set it up properly now. Tomcat itsel starts up properly, but when trying to deploy our application by copying the war file into the webapps dir, the catalina error out file is flooded by about 50MB of FINE logging (see a portion of it below), and nothing is put into the normal output file, and the normal log file.

The same does not happen with the sample.war file provided with the tomcat docs (\appdev\sample\sample.war), it starts up with the usual some lines of log.

The logging.properties file is the default one with every 'FINE' replaced with 'INFO', and every other tomcat file is also unmodified.

What is customized: the tomcat is run with jsvc and a customized startup script. CATALINA_BASE is separated from CATALINA_HOME and tomcat is run with a non-root user. EDIT: not sure if matters, but the startup script sets these startup parameters regarding logging: -Djava.util.logging.config.file=<logging.proprties' path> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager and also the console out and console out error are set up by the startup script.

Most of the error file's content comes from the class org.apache.tomcat.util.digester.Digester and seems harmless FINE level log.

There are no SEVERE, ERROR logs, and there's one WARNING regarding some unset locale, and this one below, but they are almost at the end of the log:

Jul 31, 2013 12:34:24 PM org.apache.myfaces.component.html.util.ExtensionsFilter <init> WARNING: Please adjust your web.xml to use org.apache.myfaces.webapp.filter.ExtensionsFilter 

The logging.properties looks like this now:

handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler .handlers = 1catalina.org.apache.juli.FileHandler  ############################################################ # Handler specific properties.  1catalina.org.apache.juli.FileHandler.level = INFO 1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 1catalina.org.apache.juli.FileHandler.prefix = catalina.  2localhost.org.apache.juli.FileHandler.level = INFO 2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 2localhost.org.apache.juli.FileHandler.prefix = localhost.  3manager.org.apache.juli.FileHandler.level = INFO 3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 3manager.org.apache.juli.FileHandler.prefix = manager.  ############################################################ # Facility specific properties.  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.commons.digester.Digester.[Catalina].level = INFO org.apache.commons.digester.Digester.[Catalina].handlers = 1catalina.org.apache.juli.FileHandler  org.apache.commons.digester.Digester.[Catalina].[localhost].level = INFO org.apache.commons.digester.Digester.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler  org.apache.commons.digester.Digester.[Catalina].[localhost].[/manager].level = INFO org.apache.commons.digester.Digester.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler 

EDIT2: added facility specific properties for org.apache.tomcat.util.digester.Digester but no success


Why does the log go to the outfile, and not into the log file? The sample.war's log goes to both, but it's only some lines per start/stop. Regardless of the destination, why is there any FINE logging, when everything is set to INFO?

So please kindly adwise what I might be doing wrong. I can get the source of the application and check and maybe modify stuff in it, but I am not aware of it's internals. Even if there are errors in it, I don't think this error output file should be this large, and logging should work properly with the default config.

     
   
   

Lista de respuestas

0
 
vote
vote
La mejor respuesta
 

La solución proviene de Mustafa Yuksel, se describe aquí . El chico es un héroe, teníamos los mismos problemas exactamente y no pudimos resolverlos en semanas.

El primer problema fue que el archivo de guerra no usa [HttpPost] public HttpResponseMessage Post(myCombinedClass myData) { if(myData.id == 0) { // This is a new entry to Tbl_Order. Tbl_Order orderObject = new Tbl_Order(); orderObject.Employee_ID = myData.Employee_ID; orderObject.TotalBill = myData.TotalBill; _ctx.Tbl_Order.Add(orderObject); _ctx.SaveChanges(); } else { //You just need to update the Tbl_Order. I mean, here you are adding //data to Tbl_OrderMenu table with Order_ID. var OrderMenuData = _ctx.Tbl_OrderMenu.where(m=>m.Order_ID == myData.id).FirstOrDefault(); OrderMenuData.Order_ID = myData.id; OrderMenuData.MenuName = myData.OrderMenu.MenuName; OrderMenuData.Quantity = myData.OrderMenu.Quantity; _ctx.Entry(OrderMenuData).State=System.Data.Entity.EntityState.Modified; _ctx.SaveChanges(); } } 0 , de hecho, fue, de hecho, la clase [HttpPost] public HttpResponseMessage Post(myCombinedClass myData) { if(myData.id == 0) { // This is a new entry to Tbl_Order. Tbl_Order orderObject = new Tbl_Order(); orderObject.Employee_ID = myData.Employee_ID; orderObject.TotalBill = myData.TotalBill; _ctx.Tbl_Order.Add(orderObject); _ctx.SaveChanges(); } else { //You just need to update the Tbl_Order. I mean, here you are adding //data to Tbl_OrderMenu table with Order_ID. var OrderMenuData = _ctx.Tbl_OrderMenu.where(m=>m.Order_ID == myData.id).FirstOrDefault(); OrderMenuData.Order_ID = myData.id; OrderMenuData.MenuName = myData.OrderMenu.MenuName; OrderMenuData.Quantity = myData.OrderMenu.Quantity; _ctx.Entry(OrderMenuData).State=System.Data.Entity.EntityState.Modified; _ctx.SaveChanges(); } } 1111 que usó el registrador incorrecto. Para que pueda enmascarar el registro fino con la línea

  [HttpPost] public HttpResponseMessage Post(myCombinedClass myData) {  if(myData.id == 0)   {     // This is a new entry to Tbl_Order.     Tbl_Order orderObject = new Tbl_Order();     orderObject.Employee_ID = myData.Employee_ID;     orderObject.TotalBill = myData.TotalBill;     _ctx.Tbl_Order.Add(orderObject);     _ctx.SaveChanges();   }  else   {    //You just need to update the Tbl_Order. I mean, here you are adding     //data to Tbl_OrderMenu table with  Order_ID.    var OrderMenuData = _ctx.Tbl_OrderMenu.where(m=>m.Order_ID ==                         myData.id).FirstOrDefault();     OrderMenuData.Order_ID = myData.id;         OrderMenuData.MenuName = myData.OrderMenu.MenuName;    OrderMenuData.Quantity = myData.OrderMenu.Quantity;    _ctx.Entry(OrderMenuData).State=System.Data.Entity.EntityState.Modified;    _ctx.SaveChanges();   } } 2  

El segundo problema fue que teníamos una logging.Properties en un proyecto, que teníamos Eclipse incluyen en nuestros archivos de guerra. Ese proyecto incluyó un archivo de logging.properties adicional que no teníamos idea. Incluidos los proyectos Eclipse están presentes como archivos JAR en / WEB-INF / lib / para que tenga que cavar en aquellos.

 

The solution comes from Mustafa Yuksel, described here. The guy is a hero, we had the exact same issues and we couldn't figure them out in weeks.

The first issue was that the war file does not use org.apache.tomcat.util.digester.Digester, it was in fact the org.apache.commons.digester.Digester.level class which used the wrong logger. So that you can mask the FINE logging with the line

org.apache.commons.digester.Digester.level = INFO 

The second issue was that we had a logging.properties in a project, that we had Eclipse include in our war files. That project included an additional logging.properties file which we had no idea about. Included eclipse projects are present as jar files in /WEB-INF/lib/ so you have to dig into those.

 
 

Relacionados problema

5  Tomcat 7.0.30 no funciona con Restoasy 2.3.4  ( Tomcat 7 0 30 does not work with resteasy 2 3 4 ) 
He creado una pequeña aplicación web con Restasyy 2.3.4 Final, y la implementé a Tomcat 7.0.30. Obtuve el siguiente mensaje de error cuando Tomcat se inicia: ...

10  Falló la instalación del servicio 'Tomcat 7'  ( Failed installing tomcat 7 service ) 
Intenté instalar Tomcat como un servicio con el archivo session.CreateCriteria<AddonStatus>() .Add(Restrictions.IdEq(key)) 18 en public class AddonStatus {...

1  CSS no se encuentra para la aplicación web usando Apache Tomcat 7.0  ( Css not found for web app using apache tomcat 7 0 ) 
Tengo una aplicación web que he estado desarrollando desde Eclipse IDE y he estado probando utilizando un TOTCAT sever, dentro de Eclipse. A lo largo del desa...

1  Servlets - Elija un nombre de archivo para archivos cargados  ( Servlets choose a filename for uploaded files ) 
Estoy interesado en las imágenes, pero la pregunta es bastante general. Lo estoy haciendo por lo tanto : private class MyClass extends AsyncTask<Void, Voi...

0  Problema con todas mis solicitudes que vayan dos veces a través de nuestros filtros en Tomcat 7  ( Issue with all my requests going twice through our filters on tomcat 7 ) 
Tengo un problema con Tomcat 7 , donde todas mis solicitudes van dos veces a través de nuestros filtros. Esto da como resultado una página web donde se muest...

1  Error al desplegar la aplicación PrimeFaces a Tomcat  ( Error when deploying primefaces app to tomcat ) 
Tenemos un problema de implementación de una aplicación JSF de PrimeFaces a un Tomcat de Eclipse. Las libs usadas son: Tomcat 7 Eclipse 4.3 mojarra 2...

1  Mapa subdominio a diferentes aplicaciones que se ejecutan en el mismo puerto IP distinguidas por ruta  ( Map subdomain to different applications running on same ip same port distingushe ) 
Tengo 3 aplicaciones (una aplicación web, 2 aplicaciones angulares) que se ejecutan en la misma instancia de EC2 en el mismo puerto (8080) Los caminos a las a...

2  Tomcat - Cookie con ':' en el valor de la cookie  ( Tomcat cookie with in the cookie value ) 
Recientemente emigramos nuestra aplicación de WebSphere a Tomcat-7. Y estamos llegando a un problema de compatibilidad con la forma en que se manejan las cook...

0  Cómo atender a JSP y Servlets en Win7 Pro con el servicio de redirección dinámica  ( Howto serve jsp and servlets on win7 pro with dynamic redirect service ) 
Estoy teniendo un problema que atiende a una pequeña aplicación web de Java que consta de 3 páginas JSP y no más de 3 servlets. Por favor, perdona mi falta de...

0  Es la afinidad de la sesión mantenida por Apache Cargar Balancer después de una instancia hacia abajo  ( Is session affinity maintained by apache load balancer after one instance down ) 
Implementé mi proyecto en 3 Tomcats llamado Tomcat1, Tomcat2, Tomcat3. Aquellos están configurados con Tomcat Cluster. La afinidad de la sesión funciona bien ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos