This is an automated email from the ASF dual-hosted git repository. rec pushed a commit to branch bugfix/267-UIMA-Log4jLogger_impl-not-compatible-with-log4j-2.18.0 in repository https://gitbox.apache.org/repos/asf/uima-uimaj.git
commit fddc9c793b8a9924d36b1d30e02909f71b447d2a Author: Richard Eckart de Castilho <[email protected]> AuthorDate: Thu Jan 12 11:18:40 2023 +0100 Issue #267 - UIMA Log4jLogger_impl not compatible with log4j 2.18.0+ - Use proper API instead of reflection to obtain the marker --- .../org/apache/uima/util/impl/Log4jLogger_impl.java | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/uimaj-core/src/main/java/org/apache/uima/util/impl/Log4jLogger_impl.java b/uimaj-core/src/main/java/org/apache/uima/util/impl/Log4jLogger_impl.java index 7b6dd09c0..1f3f0e9da 100644 --- a/uimaj-core/src/main/java/org/apache/uima/util/impl/Log4jLogger_impl.java +++ b/uimaj-core/src/main/java/org/apache/uima/util/impl/Log4jLogger_impl.java @@ -18,10 +18,10 @@ */ package org.apache.uima.util.impl; -import java.lang.reflect.Field; import java.text.MessageFormat; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.MarkerManager; import org.apache.logging.log4j.core.Filter; import org.apache.logging.log4j.core.Filter.Result; import org.apache.logging.log4j.core.LogEvent; @@ -42,7 +42,6 @@ import org.slf4j.Marker; */ public class Log4jLogger_impl extends Logger_common_impl { - final static private Object[] zeroLengthArray = new Object[0]; /** * <p> * Markers that are for marking levels not supported by log4j. @@ -246,19 +245,7 @@ public class Log4jLogger_impl extends Logger_common_impl { return null; } - Field markerField = null; - try { - markerField = m.getClass().getDeclaredField("marker"); - markerField.setAccessible(true); - return (org.apache.logging.log4j.Marker) markerField.get(m); - } catch (Exception e) { - // Well, best effort... - return null; - } finally { - if (markerField != null) { - markerField.setAccessible(false); - } - } + return MarkerManager.getMarker(m.getName()); } /* @@ -412,5 +399,4 @@ public class Log4jLogger_impl extends Logger_common_impl { public boolean isWarnEnabled(Marker arg0) { return logger.isWarnEnabled(m(arg0)); } - }
