You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2022/01/13 21:12:34 UTC
[logging-log4j2] branch master updated (3dd3618 -> ca3b376)
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git.
from 3dd3618 Remove blank lines.
new c220683 Add CategoryUtil#getAppenders() and getFilters(); add Javadoc.
new ca3b376 Add missing protected instance variable for BC.
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../log4j/helpers/AppenderAttachableImpl.java | 4 +
.../org/apache/log4j/legacy/core/CategoryUtil.java | 97 +++++++++++++++++-----
2 files changed, 82 insertions(+), 19 deletions(-)
[logging-log4j2] 02/02: Add missing protected instance variable for BC.
Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit ca3b376a7dd278e69029075e785f98c6f53439b0
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Thu Jan 13 16:09:00 2022 -0500
Add missing protected instance variable for BC.
---
.../main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java b/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java
index 9837f34..9589b50 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java
@@ -19,6 +19,7 @@ package org.apache.log4j.helpers;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Objects;
+import java.util.Vector;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
@@ -33,6 +34,9 @@ public class AppenderAttachableImpl implements AppenderAttachable {
private final ConcurrentMap<String, Appender> appenders = new ConcurrentHashMap<>();
+ /** Array of appenders. TODO */
+ protected Vector appenderList;
+
@Override
public void addAppender(final Appender newAppender) {
if (newAppender != null) {
[logging-log4j2] 01/02: Add CategoryUtil#getAppenders() and getFilters(); add Javadoc.
Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit c220683612320541ff2a9f3d89643dad7ba81fe1
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Thu Jan 13 16:08:21 2022 -0500
Add CategoryUtil#getAppenders() and getFilters(); add Javadoc.
Refactor duplication.
---
.../org/apache/log4j/legacy/core/CategoryUtil.java | 97 +++++++++++++++++-----
1 file changed, 78 insertions(+), 19 deletions(-)
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/legacy/core/CategoryUtil.java b/log4j-1.2-api/src/main/java/org/apache/log4j/legacy/core/CategoryUtil.java
index 04c47aa..ea6b43c 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/legacy/core/CategoryUtil.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/legacy/core/CategoryUtil.java
@@ -16,45 +16,104 @@
*/
package org.apache.log4j.legacy.core;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.function.Supplier;
+
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.spi.LoggerContext;
/**
- * Provide access to Log4j Core Logger methods.
+ * Delegates to {@code Logger} methods implemented by {@code log4j-core} if appropriate.
*/
public final class CategoryUtil {
+ private static org.apache.logging.log4j.core.Logger asCore(final Logger logger) {
+ return (org.apache.logging.log4j.core.Logger) logger;
+ }
+
+ private static <T> T get(final Logger logger, final Supplier<T> run, final T defaultValue) {
+ return isCore(logger) ? run.get() : defaultValue;
+ }
+
+ /**
+ * Delegates to {@link org.apache.logging.log4j.core.Logger#getAppenders()} if appropriate.
+ *
+ * @param logger The target logger.
+ * @return A Map containing the Appender's name as the key and the Appender as the value.
+ */
+ public static Map<String, Appender> getAppenders(final Logger logger) {
+ return get(logger, asCore(logger)::getAppenders, null);
+ }
+
+ /**
+ * Delegates to {@link org.apache.logging.log4j.core.Logger#getFilters()} if appropriate.
+ *
+ * @param logger The target logger.
+ * @return An Iterator over all the Filters associated with the Logger.
+ */
+ public static Iterator<Filter> getFilters(final Logger logger) {
+ return get(logger, asCore(logger)::getFilters, null);
+ }
+
+ /**
+ * Delegates to {@link org.apache.logging.log4j.core.Logger#getContext()} if appropriate.
+ *
+ * @param logger The target logger.
+ * @return the LoggerContext.
+ */
public static LoggerContext getLoggerContext(final Logger logger) {
- if (logger instanceof org.apache.logging.log4j.core.Logger) {
- return ((org.apache.logging.log4j.core.Logger) logger).getContext();
- }
- return null;
+ return get(logger, asCore(logger)::getContext, null);
}
+ /**
+ * Delegates to {@link org.apache.logging.log4j.core.Logger#getParent()} if appropriate.
+ *
+ * @param logger The target logger.
+ * @return The parent Logger.
+ */
public static Logger getParent(final Logger logger) {
- if (logger instanceof org.apache.logging.log4j.core.Logger) {
- return ((org.apache.logging.log4j.core.Logger) logger).getParent();
- }
- return null;
+ return get(logger, asCore(logger)::getParent, null);
}
-
+
+ /**
+ * Delegates to {@link org.apache.logging.log4j.core.Logger#isAdditive()} if appropriate.
+ *
+ * @param logger The target logger.
+ * @return true if the associated LoggerConfig is additive, false otherwise.
+ */
public static boolean isAdditive(final Logger logger) {
- if (logger instanceof org.apache.logging.log4j.core.Logger) {
- return ((org.apache.logging.log4j.core.Logger) logger).isAdditive();
- }
- return false;
+ return get(logger, asCore(logger)::isAdditive, false);
+ }
+
+ private static boolean isCore(final Logger logger) {
+ return logger instanceof org.apache.logging.log4j.core.Logger;
}
- public static void setAdditivity(final Logger logger, final boolean additivity) {
- if (logger instanceof org.apache.logging.log4j.core.Logger) {
- ((org.apache.logging.log4j.core.Logger) logger).setAdditive(additivity);
+ /**
+ * Delegates to {@link org.apache.logging.log4j.core.Logger#setAdditive(boolean)} if appropriate.
+ *
+ * @param logger The target logger.
+ * @param additive Boolean value to indicate whether the Logger is additive or not.
+ */
+ public static void setAdditivity(final Logger logger, final boolean additive) {
+ if (isCore(logger)) {
+ asCore(logger).setAdditive(additive);
}
}
+ /**
+ * Delegates to {@link org.apache.logging.log4j.core.Logger#setLevel(Level)} if appropriate.
+ *
+ * @param logger The target logger.
+ * @param level The Level to use on this Logger, may be null.
+ */
public static void setLevel(final Logger logger, final Level level) {
- if (logger instanceof org.apache.logging.log4j.core.Logger) {
- ((org.apache.logging.log4j.core.Logger) logger).setLevel(level);
+ if (isCore(logger)) {
+ asCore(logger).setLevel(level);
}
}