You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2022/01/02 04:53:54 UTC
[logging-log4j2] branch master updated: Move setAccessible invocation to log4j-core
This is an automated email from the ASF dual-hosted git repository.
mattsicker pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/master by this push:
new ce73e8f Move setAccessible invocation to log4j-core
ce73e8f is described below
commit ce73e8f7b0227b20e82815d149aede30bfbd0b21
Author: Matt Sicker <ma...@apache.org>
AuthorDate: Sat Jan 1 22:53:46 2022 -0600
Move setAccessible invocation to log4j-core
Signed-off-by: Matt Sicker <ma...@apache.org>
---
.../apache/logging/log4j/core/config/plugins/util/PluginBuilder.java | 2 ++
.../src/main/java/org/apache/logging/log4j/plugins/util/TypeUtil.java | 1 -
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java
index 3292998..dd98827 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java
@@ -36,6 +36,7 @@ import org.apache.logging.log4j.util.ReflectionUtil;
import org.apache.logging.log4j.util.StringBuilders;
import java.lang.annotation.Annotation;
+import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -170,6 +171,7 @@ public class PluginBuilder implements Builder<Object> {
private Object injectBuilder(final Builder<?> builder) {
final Object target = builder instanceof BuilderWrapper ? ((BuilderWrapper) builder).getBuilder() : builder;
final List<Field> fields = TypeUtil.getAllDeclaredFields(target.getClass());
+ AccessibleObject.setAccessible(fields.toArray(new Field[0]), true);
final StringBuilder log = new StringBuilder();
// TODO: collect OptionBindingExceptions into a composite error message (ConfigurationException?)
for (final Field field : fields) {
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/util/TypeUtil.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/util/TypeUtil.java
index 2abcd19..adde765 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/util/TypeUtil.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/util/TypeUtil.java
@@ -62,7 +62,6 @@ public final class TypeUtil {
final List<Field> fields = new ArrayList<>();
while (cls != null) {
final Field[] declaredFields = cls.getDeclaredFields();
- AccessibleObject.setAccessible(declaredFields, true);
fields.addAll(Arrays.asList(declaredFields));
cls = cls.getSuperclass();
}