diff options
author | sourabh_sourabh <sourabh.sourabh@est.tech> | 2022-02-08 23:02:27 +0530 |
---|---|---|
committer | sourabh_sourabh <sourabh.sourabh@est.tech> | 2022-02-14 20:13:50 +0530 |
commit | f7cb11a5d53d4964c236a6ecb2e2f4264f2437fd (patch) | |
tree | 053350881ae064315c729e58d48f09f41c358ab5 /cps-service/src/main/java | |
parent | d6578881eae5c7fb6f0731fad382b05ab2a4f8a6 (diff) |
Improve logging in NCMP
- Code to change to apply logs at runtime
- Fix for minor code smell
Issue-ID: CPS-855
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
Change-Id: I93a556fe0fb7ca05a42e84eb5ec4f84afaa8fd92
Diffstat (limited to 'cps-service/src/main/java')
-rw-r--r-- | cps-service/src/main/java/org/onap/cps/aop/CpsLoggingAspectService.java | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/cps-service/src/main/java/org/onap/cps/aop/CpsLoggingAspectService.java b/cps-service/src/main/java/org/onap/cps/aop/CpsLoggingAspectService.java index 20c6af6c3f..b5fe0abaea 100644 --- a/cps-service/src/main/java/org/onap/cps/aop/CpsLoggingAspectService.java +++ b/cps-service/src/main/java/org/onap/cps/aop/CpsLoggingAspectService.java @@ -21,49 +21,53 @@ package org.onap.cps.aop; import java.util.Arrays; -import java.util.Optional; +import java.util.logging.Level; +import java.util.logging.Logger; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.reflect.MethodSignature; -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.stereotype.Component; import org.springframework.util.StopWatch; @Aspect @Component @Slf4j -@ConditionalOnExpression( - "'${logging.level.org.onap.cps}'.equalsIgnoreCase('DEBUG')" -) public class CpsLoggingAspectService { - private static final String ALL_CPS_METHODS = "execution(* org.onap.cps..*(..)))"; + private static final String CPS_PACKAGE_NAME = "org.onap.cps"; + private static final String ALL_CPS_METHODS = "execution(* " + CPS_PACKAGE_NAME + "..*(..)))"; /** * To measure method execution time as a logging. + * * @param proceedingJoinPoint exposes the proceed(..) method in order to support around advice. * @return empty in case of void otherwise an object of return type */ @Around(ALL_CPS_METHODS) @SneakyThrows public Object logMethodExecutionTime(final ProceedingJoinPoint proceedingJoinPoint) { - final StopWatch stopWatch = new StopWatch(); - - //Calculate method execution time - stopWatch.start(); - final Object logObject = Optional.ofNullable(proceedingJoinPoint.proceed()).orElse(""); - stopWatch.stop(); - final MethodSignature methodSignature = (MethodSignature) proceedingJoinPoint.getSignature(); - //Log method execution time - log.debug("Execution time of : {}.{}() with argument[s] = {} having result = {} :: {} ms", - methodSignature.getDeclaringType().getSimpleName(), - methodSignature.getName(), Arrays.toString(proceedingJoinPoint.getArgs()), logObject, - stopWatch.getTotalTimeMillis()); + if (isSlf4JDebugEnabled()) { + final StopWatch stopWatch = new StopWatch(); + //Calculate method execution time + stopWatch.start(); + final Object returnValue = proceedingJoinPoint.proceed(); + stopWatch.stop(); + final MethodSignature methodSignature = (MethodSignature) proceedingJoinPoint.getSignature(); + //Log method execution time + log.debug("Execution time of : {}.{}() with argument[s] = {} having result = {} :: {} ms", + methodSignature.getDeclaringType().getSimpleName(), + methodSignature.getName(), Arrays.toString(proceedingJoinPoint.getArgs()), returnValue, + stopWatch.getTotalTimeMillis()); + return returnValue; + } + return proceedingJoinPoint.proceed(); + } - return logObject; + private static boolean isSlf4JDebugEnabled() { + return Logger.getLogger(CPS_PACKAGE_NAME).isLoggable(Level.FINE); } } |