aboutsummaryrefslogtreecommitdiffstats
path: root/cps-service/src/main/java/org/onap
diff options
context:
space:
mode:
Diffstat (limited to 'cps-service/src/main/java/org/onap')
-rw-r--r--cps-service/src/main/java/org/onap/cps/aop/CpsLoggingAspectService.java42
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);
}
}