Skip to content

Commit

Permalink
fix: Log message don't respecting custom message value
Browse files Browse the repository at this point in the history
fix: Exclude params isn't working
  • Loading branch information
Francisco Sousa committed Jul 20, 2023
1 parent cf8ebed commit c6b800e
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 14 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@

* Improvements on error logs

### Bug fixes

* Log message don't respecting custom message value
* Exclude params isn't working

## 0.3.1

### Improvements
Expand Down
30 changes: 16 additions & 14 deletions src/main/java/br/com/leverinfo/logging/LoggingAspect.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.lang.reflect.Method;
import java.util.*;
import java.util.stream.Collectors;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.AfterThrowing;
Expand Down Expand Up @@ -71,14 +72,13 @@ public void afterThrowing(JoinPoint joinPoint, Throwable error) {
final Logging annotation = method.getAnnotation(Logging.class);
if (annotation.logError()) {
final String message =
getCustomMessage(joinPoint)
+ String.format(
"%s errorType=%s class=%s method=%s(%s)",
error.getMessage(),
error.getClass().getSimpleName().replace("Exception", ""),
joinPoint.getTarget().getClass().getSimpleName(),
method.getName(),
buildArguments(joinPoint));
String.format(
"%s errorType=%s class=%s method=%s(%s)",
error.getMessage(),
error.getClass().getSimpleName().replace("Exception", ""),
joinPoint.getTarget().getClass().getSimpleName(),
method.getName(),
buildArguments(joinPoint));

Level errorLevel = exceptionsLogLevels.getOrDefault(error.getClass(), Level.ERROR);
if (annotation.logErrorTrace()) {
Expand Down Expand Up @@ -139,9 +139,6 @@ private static MessageParams buildMessageParams(
List<String> messageParts = new ArrayList<>();
List<Object> messageValues = new ArrayList<>();

messageParts.add("class={}");
messageValues.add(joinPoint.getTarget().getClass().getSimpleName());

messageParts.add("method={}({})");
messageValues.add(method.getName());
messageValues.add(buildArguments(joinPoint));
Expand All @@ -155,7 +152,9 @@ private static MessageParams buildMessageParams(
messageValues.add(elapsed);

return new MessageParams(
annotation.level(), String.join(" ", messageParts), messageValues.toArray());
annotation.level(),
getCustomMessage(joinPoint) + String.join(" ", messageParts),
messageValues.toArray());
}

private static String buildArguments(JoinPoint joinPoint) {
Expand All @@ -168,8 +167,11 @@ private static String buildArguments(JoinPoint joinPoint) {
arguments.add(
signature.getParameterNames()[i]
+ "="
+ (Arrays.asList(annotation.excludeParams()).contains(i)
? joinPoint.getArgs()[i].toString().replaceAll(".", "*")
+ (Arrays.stream(annotation.excludeParams())
.boxed()
.collect(Collectors.toList())
.contains(i)
? "********"
: joinPoint.getArgs()[i]));
}
return String.join(", ", arguments);
Expand Down

0 comments on commit c6b800e

Please sign in to comment.