<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd">

	<!--  System Log Aspect -->
	<bean id="logManage" class="egovframework.let.sym.log.clg.service.EgovLoginLogAspect" />

	<aop:config>
		<aop:aspect id="logManageAspect" ref="logManage">
		  <!--  로그인 Method -->
	      <!-- <aop:before pointcut="execution(public * egovframework.let.uat.uia.service.EgovLoginService.actionLogin(..))" method="logLogin" /> -->
	      <!--  로그아웃 Method -->
	      <aop:before pointcut="execution(public * egovframework.let.uat.uia.web.EgovLoginController.actionLogout(..))" method="logLogout" />
		</aop:aspect>
	</aop:config>
	
	<!--  System Log Aspect -->
	<bean id="syslog" class="egovframework.let.sym.log.lgm.service.EgovSysLogAspect" />
	<aop:config>
		<aop:aspect id="sysLogAspect" ref="syslog">
			<!--  insert로 시작되는 service Method -->
			<aop:around pointcut="execution(public * egovframework.com..impl.*Impl.insert*(..))" method="logInsert" />
			<!-- update로 시작되는 service Method -->
			<aop:around pointcut="execution(public * egovframework.com..impl.*Impl.update*(..))" method="logUpdate" />
			<!-- delete로 시작되는 service Method -->
			<aop:around pointcut="execution(public * egovframework.com..impl.*Impl.delete*(..))" method="logDelete" />
			<!-- select로 시작되는 service Method -->
			<aop:around pointcut="execution(public * egovframework.com..impl.*Impl.select*(..))" method="logSelect" />
			<!-- 관리자 로그를 위한 메소드 -->
			<aop:after pointcut="( execution(public * egovframework..*Controller.select*(..)) ||
			    execution(public * egovframework..*Controller.insert*(..)) ||
			    execution(public * egovframework..*Controller.update*(..)) ||
			    execution(public * egovframework..*Controller.delete*(..)) )
			    &amp;&amp;
			    !(execution(public * egovframework..*Controller.selectMainMenuHead(..)) || 
	              execution(public * egovframework..*Controller.selectMainMenuLeft(..)) || 
	              execution(public * egovframework..*Controller.*Web(..)) )"  method="logAdminSelect" />
		</aop:aspect>
	</aop:config>
	
</beans>