Description
I was testing out a global ThreadContextMapFilter and noticed it wasn't matching properly. I took a closer look at the code and found because it wasn't matching the value to the value on the context but rather the key.
I changed it to use the value as the argument to equals and this fixed it. Here is the diff of what I am running with.
diff --git a/core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java b/core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java
index 9ad6cab..b3f3838 100644
— a/core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFi
+++ b/core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java
@@ -96,7 +96,7 @@ public class ThreadContextMapFilter extends MapFilter {
}
}
} else
return match ? onMatch : onMismatch;
}