A los maestros de java help HELP

Hola:

Tengo clases en java y utlizo spring en su versión 2.5 , tengo 10 archivo con nombre como Modulo1.java asi sucesivamente
necesito saber como hacer para guardar un log de la siguiente manera

LogModulo1.txt
MensajeError horaError FechaError
..
LogModulo2.txt
asi sucesivamente, como se hace esto , es decir un log por cada archivo alguien sabe como se hace esto?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

logger?

Qué logger estás usando? Esto no tiene absolutamente nada que ver con ninguna versión de Spring.

Si estás usando Log4J puedes configurar un appender para cada clase. Honestamente nunca he configurado algo como lo que mencionas, pero en el peor de los casos tienes que crear tu propio appender... puedes intentar con el StringMatchFilter en un appender, pero no sé si acepta expresiones regulares, tendrás que probar

Pero necesitas tener tu config de Lo4J en XML, no en un properties, y definir algo así:

<appender name="mod1" class="org.apache.log4j.DailyRollingFileAppender">
  <param name="File" value="/ruta/a/tu/LogModulo1.txt" />
  <param name="DatePattern" value="'.'yyyy-MM-dd" /><!-- Esto es para que diario se genere un LogModulo1.txt.2010-10-13 por ejemplo -->
  <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{ABSOLUTE} [%t] %-5p %C %m%n" />
  </layout>
  <filter class="org.apache.log4j.varia.StringMatchFilter">
    <param name="StringToMatch" value="paquete.subpaquete.Modulo1" />
  </filter>
</appender>

Todo eso es para definir un appender llamado mod1 que escribe a LogModulo1.txt generando un archivo diario, y los mensajes van a ser algo así:

15:18:30,234 [thread1] DEBUG paquete.subpaquete.Modulo1 Aqui va el mensaje que se pasa al logger

Puedes cambiar el formato en el ConversionPattern, revisa la documentación del PatternLayout de Log4J. Pero necesitas poner la clase en el mensaje para que sirva el filtro, o de lo contrario escribir tu propio filtro. No es tan complicado, solamente debes implementar el método decide(LoggingEvent) y revisar que el loggerName del evento coincida con la clase que estas filtrando para devolver ACCEPT, o DENY de lo contrario. Y con esto te puedes saltar la inclusión del nombre de la clase en el mensaje de log, lo cual mejora el performance porque la misma documentación del PatternLayout dice que el uso de %C es lento.

Gracias por responder

Gracias por responder analizar y luego probar ok gracias.