vulgar variedades variaciones variacion tipos registro palabras oraciones nivel linguisticas linguistica lenguaje lengua importancia geografica estandar ejemplos caracteristicas java spring logging aspectj

java - variedades - variacion linguistica pdf



Primavera: aspecto de registro estándar(interceptor) (2)

¡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>

Echa un vistazo a la API CustomizableTraceInterceptor , puedes definir mensajes separados de entrada / salida / excepción con varios marcadores de posición:

  • $[methodName] - reemplazado con 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 objetivo de la invocación
  • $[returnValue] - reemplazado con el valor devuelto por la invocación
  • $[argumentTypes] - reemplazado por una lista separada por comas de los nombres de clase cortos de los argumentos del método
  • $[arguments] - reemplazado con una lista separada por comas de la representación de cadena de los argumentos del método
  • $[exception] - reemplazado con la representación de String de cualquier Throwable generado durante la invocación
  • $[invocationTime] - reemplazado por el tiempo, en milisegundos, tomado por la invocación del método

He encontrado muchos ejemplos sobre cómo crear un aspecto personalizado para el registro utilizando el marco de Spring como this o this pero no encontré la implementación de Spring estándar / común para esta situación y pregunta. ¿Hay implementaciones estándar de aspecto de registro de Spring o no?


Aquí está la lista de marcos que hacen el registro a través de AOP:

http://aspect4log.sf.net - hace un registro muy agradable a través de slf4j y @Log anotación. Puede trabajar a través de SpringAOP, y AspectJ. Con AspectJ funciona incluso para métodos privados y constructores 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 : realiza el registro a través de java.util.logging, es un poco demasiado complejo y no está tan bien documentado, pero afirma que puede instrumentar archivos jar / war / ear ya compilados.

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 de registros comunes. Ya que está diseñado para SpringAOP, tiene que trabajar con Spring Beans (y solo con los métodos públicos de Spring Beans).