From 87ff19ed48651388f33258b3e81ca7cbdf9da195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20L=C3=BCdin?= <13187726+Masterchen09@users.noreply.github.com> Date: Thu, 4 Jul 2024 01:28:58 +0200 Subject: [PATCH] fix(): also check exceptions/stack trace when filtering log messages (#10391) Co-authored-by: John Joyce --- .../metadata/utils/log/LogMessageFilter.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/metadata-utils/src/main/java/com/linkedin/metadata/utils/log/LogMessageFilter.java b/metadata-utils/src/main/java/com/linkedin/metadata/utils/log/LogMessageFilter.java index 67f0ae4c77..3750c0ae0b 100644 --- a/metadata-utils/src/main/java/com/linkedin/metadata/utils/log/LogMessageFilter.java +++ b/metadata-utils/src/main/java/com/linkedin/metadata/utils/log/LogMessageFilter.java @@ -1,6 +1,8 @@ package com.linkedin.metadata.utils.log; import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.classic.spi.IThrowableProxy; +import ch.qos.logback.classic.spi.ThrowableProxyUtil; import ch.qos.logback.core.filter.AbstractMatcherFilter; import ch.qos.logback.core.spi.FilterReply; import java.util.ArrayList; @@ -21,7 +23,21 @@ public class LogMessageFilter extends AbstractMatcherFilter { return FilterReply.NEUTRAL; } - if (this.excluded.stream().anyMatch(message -> event.getFormattedMessage().contains(message))) { + final String formattedMessage = event.getFormattedMessage(); + final IThrowableProxy throwableProxy = event.getThrowableProxy(); + + String throwableString; + if (throwableProxy != null) { + throwableString = ThrowableProxyUtil.asString(throwableProxy); + } else { + throwableString = null; + } + + if (this.excluded.stream() + .anyMatch( + message -> + formattedMessage.contains(message) + || (throwableString != null && throwableString.contains(message)))) { return FilterReply.DENY; } return FilterReply.ACCEPT;