|
|
|
@ -129,20 +129,20 @@ public class CustomizableTraceInterceptor extends AbstractTraceInterceptor { |
|
|
|
/** |
|
|
|
/** |
|
|
|
* The default message used for writing method entry messages. |
|
|
|
* The default message used for writing method entry messages. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private static final String DEFAULT_ENTER_MESSAGE = |
|
|
|
private static final String DEFAULT_ENTER_MESSAGE = "Entering method '" + |
|
|
|
"Entering method '" + PLACEHOLDER_METHOD_NAME + "' of class [" + PLACEHOLDER_TARGET_CLASS_NAME + "]"; |
|
|
|
PLACEHOLDER_METHOD_NAME + "' of class [" + PLACEHOLDER_TARGET_CLASS_NAME + "]"; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* The default message used for writing method exit messages. |
|
|
|
* The default message used for writing method exit messages. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private static final String DEFAULT_EXIT_MESSAGE = |
|
|
|
private static final String DEFAULT_EXIT_MESSAGE = "Exiting method '" + |
|
|
|
"Exiting method '" + PLACEHOLDER_METHOD_NAME + "' of class [" + PLACEHOLDER_TARGET_CLASS_NAME + "]"; |
|
|
|
PLACEHOLDER_METHOD_NAME + "' of class [" + PLACEHOLDER_TARGET_CLASS_NAME + "]"; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* The default message used for writing exception messages. |
|
|
|
* The default message used for writing exception messages. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private static final String DEFAULT_EXCEPTION_MESSAGE = |
|
|
|
private static final String DEFAULT_EXCEPTION_MESSAGE = "Exception thrown in method '" + |
|
|
|
"Exception thrown in method '" + PLACEHOLDER_METHOD_NAME + "' of class [" + PLACEHOLDER_TARGET_CLASS_NAME + "]"; |
|
|
|
PLACEHOLDER_METHOD_NAME + "' of class [" + PLACEHOLDER_TARGET_CLASS_NAME + "]"; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* The {@code Pattern} used to match placeholders. |
|
|
|
* The {@code Pattern} used to match placeholders. |
|
|
|
@ -183,14 +183,14 @@ public class CustomizableTraceInterceptor extends AbstractTraceInterceptor { |
|
|
|
* </ul> |
|
|
|
* </ul> |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public void setEnterMessage(String enterMessage) throws IllegalArgumentException { |
|
|
|
public void setEnterMessage(String enterMessage) throws IllegalArgumentException { |
|
|
|
Assert.hasText(enterMessage, "'enterMessage' must not be empty"); |
|
|
|
Assert.hasText(enterMessage, "enterMessage must not be empty"); |
|
|
|
checkForInvalidPlaceholders(enterMessage); |
|
|
|
checkForInvalidPlaceholders(enterMessage); |
|
|
|
Assert.doesNotContain(enterMessage, PLACEHOLDER_RETURN_VALUE, |
|
|
|
Assert.doesNotContain(enterMessage, PLACEHOLDER_RETURN_VALUE, |
|
|
|
"enterMessage cannot contain placeholder [" + PLACEHOLDER_RETURN_VALUE + "]"); |
|
|
|
"enterMessage cannot contain placeholder " + PLACEHOLDER_RETURN_VALUE); |
|
|
|
Assert.doesNotContain(enterMessage, PLACEHOLDER_EXCEPTION, |
|
|
|
Assert.doesNotContain(enterMessage, PLACEHOLDER_EXCEPTION, |
|
|
|
"enterMessage cannot contain placeholder [" + PLACEHOLDER_EXCEPTION + "]"); |
|
|
|
"enterMessage cannot contain placeholder " + PLACEHOLDER_EXCEPTION); |
|
|
|
Assert.doesNotContain(enterMessage, PLACEHOLDER_INVOCATION_TIME, |
|
|
|
Assert.doesNotContain(enterMessage, PLACEHOLDER_INVOCATION_TIME, |
|
|
|
"enterMessage cannot contain placeholder [" + PLACEHOLDER_INVOCATION_TIME + "]"); |
|
|
|
"enterMessage cannot contain placeholder " + PLACEHOLDER_INVOCATION_TIME); |
|
|
|
this.enterMessage = enterMessage; |
|
|
|
this.enterMessage = enterMessage; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -207,10 +207,10 @@ public class CustomizableTraceInterceptor extends AbstractTraceInterceptor { |
|
|
|
* </ul> |
|
|
|
* </ul> |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public void setExitMessage(String exitMessage) { |
|
|
|
public void setExitMessage(String exitMessage) { |
|
|
|
Assert.hasText(exitMessage, "'exitMessage' must not be empty"); |
|
|
|
Assert.hasText(exitMessage, "exitMessage must not be empty"); |
|
|
|
checkForInvalidPlaceholders(exitMessage); |
|
|
|
checkForInvalidPlaceholders(exitMessage); |
|
|
|
Assert.doesNotContain(exitMessage, PLACEHOLDER_EXCEPTION, |
|
|
|
Assert.doesNotContain(exitMessage, PLACEHOLDER_EXCEPTION, |
|
|
|
"exitMessage cannot contain placeholder [" + PLACEHOLDER_EXCEPTION + "]"); |
|
|
|
"exitMessage cannot contain placeholder" + PLACEHOLDER_EXCEPTION); |
|
|
|
this.exitMessage = exitMessage; |
|
|
|
this.exitMessage = exitMessage; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -226,12 +226,10 @@ public class CustomizableTraceInterceptor extends AbstractTraceInterceptor { |
|
|
|
* </ul> |
|
|
|
* </ul> |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public void setExceptionMessage(String exceptionMessage) { |
|
|
|
public void setExceptionMessage(String exceptionMessage) { |
|
|
|
Assert.hasText(exceptionMessage, "'exceptionMessage' must not be empty"); |
|
|
|
Assert.hasText(exceptionMessage, "exceptionMessage must not be empty"); |
|
|
|
checkForInvalidPlaceholders(exceptionMessage); |
|
|
|
checkForInvalidPlaceholders(exceptionMessage); |
|
|
|
Assert.doesNotContain(exceptionMessage, PLACEHOLDER_RETURN_VALUE, |
|
|
|
Assert.doesNotContain(exceptionMessage, PLACEHOLDER_RETURN_VALUE, |
|
|
|
"exceptionMessage cannot contain placeholder [" + PLACEHOLDER_RETURN_VALUE + "]"); |
|
|
|
"exceptionMessage cannot contain placeholder " + PLACEHOLDER_RETURN_VALUE); |
|
|
|
Assert.doesNotContain(exceptionMessage, PLACEHOLDER_INVOCATION_TIME, |
|
|
|
|
|
|
|
"exceptionMessage cannot contain placeholder [" + PLACEHOLDER_INVOCATION_TIME + "]"); |
|
|
|
|
|
|
|
this.exceptionMessage = exceptionMessage; |
|
|
|
this.exceptionMessage = exceptionMessage; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -263,8 +261,8 @@ public class CustomizableTraceInterceptor extends AbstractTraceInterceptor { |
|
|
|
stopWatch.stop(); |
|
|
|
stopWatch.stop(); |
|
|
|
} |
|
|
|
} |
|
|
|
exitThroughException = true; |
|
|
|
exitThroughException = true; |
|
|
|
writeToLog(logger, |
|
|
|
writeToLog(logger, replacePlaceholders( |
|
|
|
replacePlaceholders(this.exceptionMessage, invocation, null, ex, stopWatch.getTotalTimeMillis()), ex); |
|
|
|
this.exceptionMessage, invocation, null, ex, stopWatch.getTotalTimeMillis()), ex); |
|
|
|
throw ex; |
|
|
|
throw ex; |
|
|
|
} |
|
|
|
} |
|
|
|
finally { |
|
|
|
finally { |
|
|
|
@ -272,8 +270,8 @@ public class CustomizableTraceInterceptor extends AbstractTraceInterceptor { |
|
|
|
if (stopWatch.isRunning()) { |
|
|
|
if (stopWatch.isRunning()) { |
|
|
|
stopWatch.stop(); |
|
|
|
stopWatch.stop(); |
|
|
|
} |
|
|
|
} |
|
|
|
writeToLog(logger, |
|
|
|
writeToLog(logger, replacePlaceholders( |
|
|
|
replacePlaceholders(this.exitMessage, invocation, returnValue, null, stopWatch.getTotalTimeMillis())); |
|
|
|
this.exitMessage, invocation, returnValue, null, stopWatch.getTotalTimeMillis())); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|