[SPRING] 스프링없이 AspectJ 로깅 사용하기
SPRING스프링없이 AspectJ 로깅 사용하기
로그가 없거나 로그가없는 오래된 응용 프로그램에서 작업하고 있습니다. Spring 프레임 워크를 구현하지 않습니다. Spring없이 AspectJ 로깅 기능을 구현할 수 있습니까? 그렇다면 좋은 자습서를 제안 해주십시오.
해결법
-
==============================
1.스프링을 사용하지 않고 로딩 시간 짜기 사용을 보여주는 간단한 응용 프로그램에이 링크를 사용해보십시오. http://ganeshghag.blogspot.in/2012/10/demystifying-aop-getting-started-with.html
스프링을 사용하지 않고 로딩 시간 짜기 사용을 보여주는 간단한 응용 프로그램에이 링크를 사용해보십시오. http://ganeshghag.blogspot.in/2012/10/demystifying-aop-getting-started-with.html
필요한 모든 것은 aspectj runtime과 weaver jars, 적절한 설정을 담고있는 META-INF \ aop.xml 파일이다.
스프링없이 aspectj ltw 사용에 대한 자세한 내용은 링크를 참조하십시오. http://www.eclipse.org/aspectj/doc/next/devguide/ltw.html
-
==============================
2.Spring (또는 log4j)없이 aspectj를 사용하여 지원되는 모든 aspectpoint에서 메시지를 기록 할 수 있습니다.
Spring (또는 log4j)없이 aspectj를 사용하여 지원되는 모든 aspectpoint에서 메시지를 기록 할 수 있습니다.
예를 들어,
public aspect ListAllMethodExecution { private int callDepth; private pointcut executionJoinPoints(): !within(ListAllMethodExecution) && execution (* *.*(..)); before(): executionJoinPoints(){ print("Before call " + thisJoinPoint); callDepth++; } after(): executionJoinPoints(){ callDepth--; print("After call " + thisJoinPoint); } private void print(String s){ for(int i=0; i<callDepth; i++) System.out.print(" "); System.out.println(s); } }
관심이있을 수있는 특정 이벤트 또는 다른 정적 joinpoint의 특정 패키지에서 로그하도록 pointcut 표현식을 수정할 수 있습니다. 또한 로그를 리디렉션 할 때 인쇄 방법을 수정할 수 있습니다.
로드 시간 또는 컴파일 타임을 사용하여 수트로 사용할 수 있습니다. 희망이 도움이됩니다.
-
==============================
3.스프링으로 직조하는로드 시간을 시험해보십시오.
스프링으로 직조하는로드 시간을 시험해보십시오.
즉, 클래스에 로깅 애스펙트를 추가하고 Spring IoC 컨테이너 외부의 오브젝트에 대한 통치에 의해 추가 할 수 있습니다.
-
==============================
4.이 OpenSource가 도움이 될지도 모릅니다. https://code.google.com/p/perfspy/. 런타임 로깅, 성능 모니터링 및 코드 검사 도구입니다. ApsectJ를 사용하여 런타임에 응용 프로그램 코드를 묶어서 모든 메소드와 입력 매개 변수 및 값의 실행 시간을 기록합니다. 메소드 호출과 입력 및 리턴 값을 트리로 볼 수있는 UI 애플리케이션이 있습니다. 이를 통해 성능 병목 지점을 파악하고 복잡한 코드 흐름을 이해할 수 있습니다.
이 OpenSource가 도움이 될지도 모릅니다. https://code.google.com/p/perfspy/. 런타임 로깅, 성능 모니터링 및 코드 검사 도구입니다. ApsectJ를 사용하여 런타임에 응용 프로그램 코드를 묶어서 모든 메소드와 입력 매개 변수 및 값의 실행 시간을 기록합니다. 메소드 호출과 입력 및 리턴 값을 트리로 볼 수있는 UI 애플리케이션이 있습니다. 이를 통해 성능 병목 지점을 파악하고 복잡한 코드 흐름을 이해할 수 있습니다.
from https://stackoverflow.com/questions/11938487/using-aspectj-logging-without-spring by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 상수 또는 열거 형으로 매핑 값을 선언해야합니까? (0) | 2019.04.06 |
---|---|
[SPRING] 스프링 3과 함께 스프링 모듈 유효성 검사를 사용할 수 없습니다. (0) | 2019.04.06 |
[SPRING] HIbernate 매핑 예외 : PropertyNotFoundException : setter를 찾을 수 없습니다. (0) | 2019.04.06 |
[SPRING] 스프링 부트에 외부 리소스 폴더 추가 (0) | 2019.04.06 |
[SPRING] Servlet 3.0 용 MVC 다중 파트 업로드 양식의 문자 인코딩을 변경하는 방법 (0) | 2019.04.06 |