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 2020/03/14 17:45:07 UTC
[logging-log4j2] 04/05: Improve toString representation
This is an automated email from the ASF dual-hosted git repository.
mattsicker pushed a commit to branch mean-bean-machine
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit e255f431cc40b0172f694108c03a906c9ca77d41
Author: Matt Sicker <bo...@gmail.com>
AuthorDate: Sat Mar 14 12:31:03 2020 -0500
Improve toString representation
Signed-off-by: Matt Sicker <bo...@gmail.com>
---
.../log4j/plugins/spi/model/Qualifiers.java | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/Qualifiers.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/Qualifiers.java
index 409890c..19c500b 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/Qualifiers.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/spi/model/Qualifiers.java
@@ -22,6 +22,7 @@ import org.apache.logging.log4j.plugins.api.Default;
import org.apache.logging.log4j.plugins.api.Ignore;
import org.apache.logging.log4j.plugins.api.Named;
import org.apache.logging.log4j.plugins.spi.InjectionException;
+import org.apache.logging.log4j.util.StringBuilders;
import org.apache.logging.log4j.util.Strings;
import java.lang.annotation.Annotation;
@@ -32,6 +33,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
+import java.util.Set;
/**
* Represents a normalized set of {@linkplain org.apache.logging.log4j.plugins.api.QualifierType qualifier annotations}.
@@ -62,7 +64,25 @@ public final class Qualifiers {
@Override
public String toString() {
- return qualifiers.toString();
+ final Set<Map.Entry<Class<? extends Annotation>, Map<String, Object>>> entries = qualifiers.entrySet();
+ if (entries.isEmpty()) {
+ return "[]";
+ }
+ StringBuilder sb = new StringBuilder().append('[');
+ for (final Map.Entry<Class<? extends Annotation>, Map<String, Object>> entry : entries) {
+ sb.append('@').append(entry.getKey().getSimpleName());
+ final Map<String, Object> attributes = entry.getValue();
+ if (!attributes.isEmpty()) {
+ sb.append('(');
+ for (final Map.Entry<String, Object> attribute : attributes.entrySet()) {
+ StringBuilders.appendKeyDqValue(sb, attribute.getKey(), attribute.getValue());
+ sb.append(", ");
+ }
+ sb.delete(sb.length() - 2, sb.length()).append(')');
+ }
+ sb.append(", ");
+ }
+ return sb.delete(sb.length() - 2, sb.length()).append(']').toString();
}
/**