<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns='http://www.springframework.net'
         xmlns:aop="http://www.springframework.net/aop">



  <object name="exceptionAdvice" type="Spring.Aspects.Exceptions.ExceptionHandlerAdvice, Spring.Aop">
    <property name="exceptionHandlers">
      <list>
        <value>on exception name ArithmeticException log 'Logging an exception thrown from method ' + #method.Name </value>
      </list>
    </property>
  </object>

  <object name="loggingAdvice" type="Spring.Aspects.Logging.SimpleLoggingAdvice, Spring.Aop">
    <property name="logUniqueIdentifier" value="true"/>
    <property name="logExecutionTime"    value="true"/>
    <property name="logMethodArguments"  value="true"/>
    <property name="Separator"           value=";"/>

    <property name="HideProxyTypeNames"  value="true"/>
    <property name="UseDynamicLogger"    value="true"/>

    <property name="LogLevel"            value="Info"/>
  </object>


  <object id="txAttributePointcut" type="Spring.Aop.Support.AttributeMatchMethodPointcut, Spring.Aop">
    <property name="Attribute" value="Spring.Transaction.Interceptor.TransactionAttribute, Spring.Data"/>
  </object>

  <aop:config>

    <aop:advisor id="exceptionProcessAdvisor" order="1"
               advice-ref="exceptionAdvice"
               pointcut-ref="txAttributePointcut"/>

    <aop:advisor id="loggingAdvisor" order="2"
                 advice-ref="loggingAdvice"
                 pointcut-ref="txAttributePointcut"/>

  </aop:config>
  
</objects>
