package egovframework.rte.fdl.logging.sample.aop; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.aspectj.lang.JoinPoint; public class MethodParameterLoggingAspect { public void beforeLog(JoinPoint thisJoinPoint) { Class<?> clazz = thisJoinPoint.getTarget().getClass(); String className = thisJoinPoint.getTarget().getClass().getName(); String methodName = thisJoinPoint.getSignature().getName(); StringBuffer buf = new StringBuffer(); buf.append("\n== MethodParameterLoggingAspect : [" + className + "." + methodName + "()] =="); Object[] arguments = thisJoinPoint.getArgs(); int argCount = 0; for (Object obj : arguments) { buf.append("\n - arg "); buf.append(argCount++); buf.append(" : "); buf.append(ToStringBuilder.reflectionToString(obj)); } Logger logger = LogManager.getLogger(clazz); if (logger.isDebugEnabled()) logger.debug(buf.toString()); } }