He encontrado muchos ejemplos sobre cómo crear un aspecto personalizado para el registro utilizando el marco Spring como this o this, pero no encontré la implementación estándar/común de Spring para esta situación y pregunta . ¿Hay alguna implementación estándar del aspecto de registro de Spring o no?Spring: aspecto de registro estándar (interceptor)
Respuesta
Sí hay!
<bean id="customizableTraceInterceptor" class="org.springframework.aop.interceptor.CustomizableTraceInterceptor">
<property name="enterMessage" value="Entering $[methodName]($[arguments])"/>
<property name="exitMessage" value="Leaving $[methodName](): $[returnValue]"/>
</bean>
<aop:config>
<aop:advisor advice-ref="customizableTraceInterceptor" pointcut="execution(public * BankAccountServlet.*(..))"/>
</aop:config>
Mira la API CustomizableTraceInterceptor, se puede definir por separado introducir mensajes/salida/de excepción con varios marcadores de posición:
$[methodName]
- sustituya por el nombre del método que se invoca$[targetClassName]
- reemplazado con el nombre de la clase que es el destino de la invocación$[targetClassShortName]
- reemplazado con el nombre corto de la clase que es el destino de la invocación$[returnValue]
- reemplazado con el valor devuelto por la invocación$[argumentTypes]
- sustituido con una lista separada por comas de los nombres de clase cortos de los argumentos del método$[arguments]
- sustituido con una lista separada por comas de la representación de cadena del argumentos del método$[exception]
- sustituido con la representación de cadena de cualquier Throwable levantado durante la invocación$[invocationTime]
- reemplazado con el tiempo, en milisegundos, tomada por el método en vocación
Aquí está la lista de los marcos que madereras a través de AOP:
http://aspect4log.sf.net - hace un aspecto muy agradable a través de la tala y la anotación slf4j @Log. Puede funcionar a través de SpringAOP y AspectJ. Con AspectJ funciona incluso para métodos y constructores privados y no requiere que una clase sea un Spring Bean. Muy fácil de usar, pude hacerlo funcionar con mi proyecto en 5 minutos.
http://loggifier.unkrig.de - hace el registro a través de java.util.logging, un documento demasiado complejo y no tan bueno, pero afirma que puede instrumentar archivos ya compilados jar/war/ear!
AbstractTraceInterceptor (de SpringAOP) y sus subclases SimpleTraceInterceptor y CustomizableTraceInterceptor. La configuración de registro se realiza por separado de las clases. Registros a través del registro de recursos comunes. Dado que está diseñado para SpringAOP, debe trabajar con Spring Beans (y solo con los métodos públicos de Spring Beans).
- 1. Interceptor mvc Spring addObject
- 2. Cómo usar Spring Autowired en un interceptor cxf personalizado?
- 3. Lea el cuerpo de respuesta en un Android Spring Interceptor
- 4. Implementando Audit Trail- Spring AOP vs.Hibernate Interceptor vs DB Trigger
- 5. Spring MVC 3, Interceptor en todos excluyendo algunas rutas definidas
- 6. Interceptor en JSF
- 7. anotación personalizado como interceptor para un registro método
- 8. Registro, StreamHandler y transmisiones estándar
- 9. Habilitación del registro en Spring
- 10. Método de interceptor no llamado con enlace de interceptor
- 11. ¿Cómo puede un interceptor Spring Soap modificar el contenido de un mensaje?
- 12. Hibernate 4.0.0Final dónde está el sessionFactory.openSession (interceptor interceptor)
- 13. ¿Cómo registro la respuesta en Spring RestTemplate?
- 14. Interceptor NHibernate: ¿Qué es
- 15. Grails Filters vs Interceptor
- 16. Spring @Transactional se aplica como un proxy Jdk dinámico y un aspecto aspectj
- 17. Prueba de AOP Aspecto de primavera
- 18. Cómo burlarse de un aspecto
- 19. Aspecto aspecto para especificar múltiples paquetes
- 20. ¿Cómo configurar un interceptor de registro para todos los tipos registrados en Unity?
- 21. log4j: ¿Forma estándar de evitar mensajes de registro repetitivos?
- 22. ¿Cómo habilitar Hibernate Interceptor cuando tengo mi Hibernate Transaction administrada por Spring?
- 23. ¿Dónde están los estilos \ controles de iOS de aspecto estándar en Delphi XE2?
- 24. aspecto UITabBarItem -setTitleTextAttributes mantiene el registro "estado = 1 se interpreta como UIControlStateHighlighted"?
- 25. Registro de un gancho de cierre en Spring 2.5
- 26. Registro de inicios de sesión con Spring Security
- 27. Cómo desactivar el registro de depuración de Spring 3?
- 28. Registro de beans (prototipo) en tiempo de ejecución en Spring
- 29. Hibernate Interceptor/Listeners para HQL
- 30. Método Interceptor en métodos privados
Es interesante, mañana lo intentaré, ¿Podría publicar el enlace donde puedo leer sobre él? Gracias –
Sí, gracias, acabo de leer :) –
@Tomasz - Probé esto en el servidor Eclipse Virgo de un paquete OSGI. no imprimió ningún registro en el archivo de registro. dudo que sea por el tema del tejido. pero no sé exactamente. ¿Podrías ayudarme? Gracias por adelantado. – Sam