Hi Olivier,
*Thanks *for the reply, I've tried what you suggested but No LUCK :(
Could you please suggest something else which would work like charm :).
On Monday, 25 July 2016 16:51:30 UTC+5:30, Olivier wrote:
>
> You should use another class Matcher. Currently you configured your binder
> to adapt all injected classes, no matter where they're located.
>
> To do what you want, you should change your binding to the following:
>
> bindInterceptor(Matchers.inSubpackage("org.cal.bento"),
> Matchers.any(), new GuiceLoggingInterceptor());
>
> Le lun. 25 juil. 2016 à 13:10, Ankur Mahajan <[email protected]
> <javascript:>> a écrit :
>
>> I am trying to implement AOP based logging in Google - Guice. I have used
>> "*MethodInterceptor*" for this but it doesn't work. I have used same in
>> Spring by defining point-cuts. Everything is working fine there.
>>
>> *Spring Code for AOP based logging -*
>>
>> @Aspect
>> public class LoggingAspect {
>>
>> private static Logger logger = LoggerFactory.getLogger(LoggingAspect.
>> class);
>>
>> @Around("requiredLog()")
>> public Object bentoBoxAround(ProceedingJoinPoint proceedingJoinPoint)
>> {
>>
>> Object returnValue = null;
>> try {
>>
>> logger.info("Entered into the method -> " + proceedingJoinPoint
>> .getSignature().toShortString()
>> + " and input arguments are -> " + Arrays.asList(
>> proceedingJoinPoint.getArgs()));
>> returnValue = proceedingJoinPoint.proceed();
>> logger.info("Method Execution over !! " + proceedingJoinPoint.
>> getSignature().toShortString());
>> } catch (Throwable e) {
>> logger.error("Method has an exception " + e.getMessage());
>> }
>> return returnValue;
>> }
>>
>> @Pointcut("within(org.cal.bento..*)")
>> public void allRequiredPakageLog() {
>> }
>>
>> }
>>
>>
>> From above code we can log all the class and method executions inside the
>> "org.cal.bento.*" package.
>>
>> *Guice code for AOP based logging -*
>>
>> public class GuiceLoggingInterceptor implements MethodInterceptor {
>>
>> private static Logger logger = LoggerFactory
>> .getLogger(GuiceLoggingInterceptor.class);
>>
>> @Override
>> public Object invoke(MethodInvocation invocation) throws Throwable {
>> Object returnValue = null;
>> try {
>> logger.info("GUICE - Entered into the method -> " + invocation.
>> getMethod().getName()
>> + " and input arguments are -> " + Arrays.asList(
>> invocation.getArguments()));
>> returnValue = invocation.proceed();
>> logger.info("Method Execution over !! " + invocation.getMethod().
>> getName());
>> } catch (Throwable e) {
>> logger.error("GUICE - Method has an exception " + e.getMessage
>> ());
>> }
>> return returnValue;
>> }
>> }
>>
>> *Binding Class -*
>>
>> public class GuiceAopModule extends AbstractModule {
>>
>> @Override
>> protected void configure() {
>> bindInterceptor(Matchers.any(), Matchers.any(), new
>> GuiceLoggingInterceptor());
>> }
>> }
>>
>> Can we do similar in Guice for logging (write only one Aspect based class
>> for whole logging system). I don't want to modify every class.
>> *Refered Tutorial* -
>> https://schakrap.wordpress.com/2009/07/30/method-entry-exit-logging-in-guice-with-aop/
>> Any help would be highly appreciated.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "google-guice" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected]
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/google-guice.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/google-guice/23ee65b0-983b-47db-81f1-06d9ed618b69%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/google-guice/23ee65b0-983b-47db-81f1-06d9ed618b69%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
--
You received this message because you are subscribed to the Google Groups
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-guice.
To view this discussion on the web visit
https://groups.google.com/d/msgid/google-guice/0265d515-676f-4f8a-916c-9539d95d1eec%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.