2014-05-25 4 views
0

지침에 따라 https://stackoverflow.com/a/9115510/1170932을 수행했으며 "이전"메서드 호출 로깅이 작동했습니다. 그러나 모든 메소드에서 [SetMethodInfoAsMessage] 주석을 추가하는 대신 가능한 경우 컨트롤러/클래스 수준에서 주석을 추가합니다. 누구든지이 예제에서 나를 가리킬 수 있습니까?Spring.NET 컨트롤러 수준 로깅 주석

또한 모든 컨트롤러의 메서드를 가상으로 만들어야한다는 것을 알았지 만 메서드 당 하나의 변경 (가상 추가)이 2 ([SetMethodInfoAsMessage] 및 가상 추가)보다 낫다고 생각합니다.

감사합니다. Pete

답변

1

속성 pointcut을 사용하는 대신 다른 유형의 pointcut을 지정할 수 있습니다. 예 : regular expression pointcut.

또한 현재 메서드 호출이 동작 메서드인지 확인하기 위해 asp.net 인프라를 사용하는 사용자 자신의 pointcut을 정의 할 수도 있습니다.

가상 방법을 쉽게 잊어 버릴 수 있습니다. 모든 메소드가 가로 채는 것이 정말로 중요하다면 리플렉션을 사용하여 모든 컨트롤러 메소드를 반복하는 유닛 테스트를 작성하고 가상 액세스 수정 자 (MethodInfo.IsVirtual 사용)를 확인하는 것이 좋습니다.