You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rm...@apache.org on 2022/05/30 23:40:51 UTC
[logging-chainsaw] 01/02: Markers can now be retrieved for colorization
This is an automated email from the ASF dual-hosted git repository.
rmiddleton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-chainsaw.git
commit af66b108811532fa8b38418a66cdee2431c02d08
Author: Robert Middleton <ro...@rm5248.com>
AuthorDate: Mon May 30 19:26:57 2022 -0400
Markers can now be retrieved for colorization
---
.../log4j/spi/LoggingEventFieldResolver.java | 29 +++++++++++-----------
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/src/main/java/org/apache/log4j/spi/LoggingEventFieldResolver.java b/src/main/java/org/apache/log4j/spi/LoggingEventFieldResolver.java
index 51772d5..2f9679d 100644
--- a/src/main/java/org/apache/log4j/spi/LoggingEventFieldResolver.java
+++ b/src/main/java/org/apache/log4j/spi/LoggingEventFieldResolver.java
@@ -232,20 +232,21 @@ public final class LoggingEventFieldResolver {
return event.m_threadName;
} else if (upperField.startsWith(PROP_FIELD)) {
//note: need to use actual fieldname since case matters
-// Object propValue = event.getMDC(fieldName.substring(5));
-// if (propValue == null) {
-// //case-specific match didn't work, try case insensitive match
-// String lowerPropKey = fieldName.substring(5).toLowerCase();
-// Set entrySet = event.getProperties().entrySet();
-// for (Iterator iter = entrySet.iterator();iter.hasNext();) {
-// Map.Entry thisEntry = (Map.Entry) iter.next();
-// if (thisEntry.getKey().toString().equalsIgnoreCase(lowerPropKey)) {
-// propValue = thisEntry.getValue();
-// }
-// }
-// }
-// return ((propValue == null) ? EMPTY_STRING : propValue.toString());
- return "";
+ String realFieldName = fieldName.substring(5);
+ String property = event.getProperty(realFieldName);
+ if( property != null && property.length() >= 1 ){
+ return property;
+ }
+
+ // We did not get the property in a case-sensitive manner - check for
+ // case-insensitive
+ for( Map.Entry<String,String> entry : event.getProperties().entrySet() ){
+ if( entry.getKey().equalsIgnoreCase( realFieldName ) ){
+ return entry.getValue();
+ }
+ }
+
+ return EMPTY_STRING;
} else {
org.apache.log4j.chainsaw.logevents.LocationInfo info = event.m_locationInfo;
if (CLASS_FIELD.equals(upperField)) {