통계프로그램log파일저장 문의입니다
- 작성자 :
- 김*효
- 작성일 :
- 2011-02-15 10:29:01
- 조회수 :
- 2,642
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
현재 저희가 사용하고 있는 폴더구조는 jsp를 불러주는 controller만 사이트별로 폴더가 나뉘어져있고 나머지부분(impl,dao,xml)들은 사이트별로 나뉘어져있지않고 함께 들어있습니다.
이상황에서 context-syslogaop.xml에서 aop로 세팅으로log정보를 테이블에 넣을때 각사이트 대메뉴 소메뉴(heder.jsp)에 정의된 페이지만 log테이블에저장하고 싶은데 현재 context-syslogaop.xml에는 <aop:around pointcut="execution(public * egovframework.com..impl.*Impl.insert*(..))" method="logInsert" />com 모든하위에 Service안의impl을 타는것을 insert, update,delete,select 하는것을 테이블에 넣는방법으로 xml에정의되어있고 EgovWebLogInterceptor.java에서 불러쓰게되어있는데
이것을 header.jsp나 left.jsp에 정의된 메뉴를 클릭시에만 url을 가져와서 log파일에 넣고 싶은데 방법을 알려주시면 감사하겠습니다.
p/s현재 log를 저장을 하게되면 메인페이지등에 정의된 popup,banner, img불러오는 url등이 log테이블에 모두 저장이 되면서 시스템이 다운되는 현상이있습니다.(스레드풀이나면서 다운)
log파일을 저장해주는 xml,class파일을 막아 주게 되면 시스템은 정상적으로
사용이 가능합니다.이문제가 log를 저장해주면서 생겨나는 문제가 아닌가 하는데 이부분도 좀알려주시면감사하겠습니다
이상황에서 context-syslogaop.xml에서 aop로 세팅으로log정보를 테이블에 넣을때 각사이트 대메뉴 소메뉴(heder.jsp)에 정의된 페이지만 log테이블에저장하고 싶은데 현재 context-syslogaop.xml에는 <aop:around pointcut="execution(public * egovframework.com..impl.*Impl.insert*(..))" method="logInsert" />com 모든하위에 Service안의impl을 타는것을 insert, update,delete,select 하는것을 테이블에 넣는방법으로 xml에정의되어있고 EgovWebLogInterceptor.java에서 불러쓰게되어있는데
이것을 header.jsp나 left.jsp에 정의된 메뉴를 클릭시에만 url을 가져와서 log파일에 넣고 싶은데 방법을 알려주시면 감사하겠습니다.
p/s현재 log를 저장을 하게되면 메인페이지등에 정의된 popup,banner, img불러오는 url등이 log테이블에 모두 저장이 되면서 시스템이 다운되는 현상이있습니다.(스레드풀이나면서 다운)
log파일을 저장해주는 xml,class파일을 막아 주게 되면 시스템은 정상적으로
사용이 가능합니다.이문제가 log를 저장해주면서 생겨나는 문제가 아닌가 하는데 이부분도 좀알려주시면감사하겠습니다
A
안녕하세요.. 김선효님..
메뉴 클릭이 되는 URL에 해당되는 부분에 대해서만 pointcut이 정의가능하여야 하는데.. 위 execution의 경우는 정의하기가 어려울 것 같습니다.
대신 사용할 수 있는 방법이 target() 방식인데..
우선.. 대상이 되는 클래스만을 위한 Abstract Class 또는 Interface를 정의합니다. (별도의 기능을 제공할 필요는 없고.. bean 들을 구분하기 위한 방법)
그리고 대상이 되는 클래스들이 위 abstract class 또는 interface를 implements 하도록 지정합니다.
다음으로 pointcut의 정의를 다음과 같이..
지정하시면 됩니다.
target(egovframework.rte.psl.dataaccess.EgovAbstractDAO)
target 안에 새롭게 만드신 abstract class 또는 interface를 지정하시면 됩니다.
추가로 문의하신 부분은 WAS의 thread 현황이나 추가적인 정보가 필요하기 때문에 정확하게 답변드릴 수는 없지만..
테이블 lock의 가능성은 있습니다. 다만, 공통컴포넌트 성능테스트나 다른 적용사이트의 경우 위와 같은 문제가 발생된 경우가 없었습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
메뉴 클릭이 되는 URL에 해당되는 부분에 대해서만 pointcut이 정의가능하여야 하는데.. 위 execution의 경우는 정의하기가 어려울 것 같습니다.
대신 사용할 수 있는 방법이 target() 방식인데..
우선.. 대상이 되는 클래스만을 위한 Abstract Class 또는 Interface를 정의합니다. (별도의 기능을 제공할 필요는 없고.. bean 들을 구분하기 위한 방법)
그리고 대상이 되는 클래스들이 위 abstract class 또는 interface를 implements 하도록 지정합니다.
다음으로 pointcut의 정의를 다음과 같이..
지정하시면 됩니다.
target(egovframework.rte.psl.dataaccess.EgovAbstractDAO)
target 안에 새롭게 만드신 abstract class 또는 interface를 지정하시면 됩니다.
추가로 문의하신 부분은 WAS의 thread 현황이나 추가적인 정보가 필요하기 때문에 정확하게 답변드릴 수는 없지만..
테이블 lock의 가능성은 있습니다. 다만, 공통컴포넌트 성능테스트나 다른 적용사이트의 경우 위와 같은 문제가 발생된 경우가 없었습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.