一尘不染

Spring:标准日志方面(拦截器)

spring

我发现了很多关于如何创建使用像Spring框架登录定制方面的例子这还是这个,但没有发现这种情况和问题,standard/common Spring实现。是否有来自Spring的日志记录方面的任何标准实现?


阅读 426

收藏
2020-04-14

共1个答案

一尘不染

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

签出CustomizableTraceInterceptor API,你可以定义带有几个占位符的单独的enter / exit / exception消息:

  • $[methodName] -替换为被调用方法的名称
  • $[targetClassName] -替换为作为调用目标的类的名称
  • $[targetClassShortName] -替换为作为调用目标的类的简称
  • $[returnValue] -替换为调用返回的值
  • $[argumentTypes] -替换为以逗号分隔的方法参数的简短类名列表
  • $[arguments] -用方法参数的字符串表示形式的逗号分隔列表替换
  • $[exception] -替换为调用期间引发的任何Throwable的String表示形式
  • $[invocationTime]-替换为方法调用所花费的时间(以毫秒为单位)
2020-04-14