java - logs - tomcat log per application
¿Cómo configurar el registro de Tomcat JULI para mover los archivos de registro? (2)
Actualización: veo tu punto ahora después de leer más. "La implementación de JULI de Tomcat no pretende ser una librería de registro de funciones completas, solo un puente simple para esas bibliotecas. Sin embargo, JULI proporciona varias propiedades para configurar sus manejadores. Estas se enumeran a continuación". Es curioso que digan que la implementación predeterminada de java.util.Logging es demasiado limitada, por lo que lo solucionan al proporcionar una implementación aún más limitada.
- java.util.logging.FileHandler.limit especifica una cantidad máxima aproximada para escribir (en bytes) en cualquier archivo. Si esto es cero, entonces no hay límite. (Por defecto es sin límite).
- java.util.logging.FileHandler.count especifica la cantidad de archivos de salida a los que pasar el ciclo (por defecto es 1).
para el único archivo por aplicación web, es probable que desee separarlo por el nombre del registrador y depende de cómo se crean los registradores para cada aplicación. Si se basan en el nombre del paquete o de la clase, puedes filtrar los registros según eso. Parece que la muestra en el enlace que proporcionó le dice cómo hacerlo
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = /
2localhost.org.apache.juli.FileHandler
Tengo varias webapps que usan java.util.logging. Tomcat 5.5 está configurado para usar el registrador Juli de modo que cada aplicación web tenga su propio archivo de registro. El problema es que Juli no tiene propiedades para el tamaño máximo de archivo y el conteo de archivos. Con Juli, los archivos crecerán sin límites y solo se lanzarán al final del día. Además, se conserva una cantidad ilimitada de archivos de registro.
Puede ver las propiedades de FileHandler en esta página: documentación de Apache Tomcat 5.5
No hay límite o propiedad de conteo (las siguientes líneas no hacen nada)
org.apache.juli.FileHandler.limit=102400
org.apache.juli.FileHandler.count=5
Sin cambiar los webapps, ¿hay alguna manera de obtener archivos de registro únicos para cada aplicación con algún tipo de límites en los tamaños de archivo de registro?
ACTUALIZACIÓN: ¡ La solución que encontré no fue usar el registrador Juli en absoluto! java.util.logging.FileHandler.limit=102400
java.util.logging.FileHandler.count=5
Gracias,
Greg
EDITAR: Acabo de darme cuenta de que quería por webapp logging que podría no ser posible con esta configuración ...
Mi sugerencia, suponiendo que esté utilizando Tomcat 6.0, es compilar el componente adicional para el registro completo de recursos comunes y usar Log4j para configurar los registros continuos.
Instrucciones de construcción aquí http://tomcat.apache.org/tomcat-6.0-doc/building.html
Luego reemplace el archivo tomcat-juli.jar en el directorio / bin de Tomcat y coloque el archivo tomcat-juli-adapters.jar en el directorio / lib junto con log4j.jar y log4j.properties.
Luego usando algo como:
<appender name="file" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logfile.log"/>
<param name="Threshold" value="INFO"/>
<param name="MaxFileSize" value="10MB"/>
<param name="MaxBackupIndex" value="3"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %p %m%n"/>
</layout>
</appender>