Skip to content

Commit 0a2e55c

Browse files
authored
Merge pull request #16 from newrelic/v1.1.10-unwrapJson
fix: preserve custom attributes name's case
2 parents 9682e34 + 52d7f66 commit 0a2e55c

File tree

6 files changed

+20
-9
lines changed

6 files changed

+20
-9
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Add the library to your project using Maven Central:
2828
<dependency>
2929
<groupId>com.newrelic.labs</groupId>
3030
<artifactId>custom-log4j2-appender</artifactId>
31-
<version>1.1.10</version>
31+
<version>1.1.12</version>
3232
</dependency>
3333
```
3434

@@ -38,7 +38,7 @@ Or, if using a locally built JAR file:
3838
<dependency>
3939
<groupId>com.newrelic.labs</groupId>
4040
<artifactId>custom-log4j2-appender</artifactId>
41-
<version>1.1.10</version>
41+
<version>1.1.12</version>
4242
<scope>system</scope>
4343
<systemPath>${project.basedir}/src/main/resources/custom-log4j2-appender.jar</systemPath>
4444
</dependency>

custom-log4j2-appender/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ shadowJar {
2727
'Implementation-Title': 'Custom Log4j2 Appender',
2828
'Implementation-Vendor': 'New Relic Labs',
2929
'Implementation-Vendor-Id': 'com.newrelic.labs',
30-
'Implementation-Version': '1.1.4'
30+
'Implementation-Version': '1.1.12'
3131
)
3232
}
3333
}
@@ -55,7 +55,7 @@ publishing {
5555

5656
groupId = 'com.newrelic.labs'
5757
artifactId = 'custom-log4j2-appender'
58-
version = '1.1.4'
58+
version = '1.1.12'
5959

6060
pom {
6161
name = 'Custom Log4j2 Appender'

custom-log4j2-appender/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<modelVersion>4.0.0</modelVersion>
77
<groupId>com.newrelic.labs</groupId>
88
<artifactId>custom-log4j2-appender</artifactId>
9-
<version>1.1.10</version>
9+
<version>1.1.12</version>
1010
<packaging>jar</packaging>
1111
<name>Custom Log4j2 Appender</name>
1212
<description>A custom Log4j2 appender for New Relic.</description>

custom-log4j2-appender/src/main/java/com/newrelic/labs/LogForwarder.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.net.InetAddress;
66
import java.net.UnknownHostException;
77
import java.util.ArrayList;
8+
import java.util.HashMap;
89
import java.util.List;
910
import java.util.Map;
1011
import java.util.concurrent.TimeUnit;
@@ -183,13 +184,15 @@ private Map<String, Object> convertToLogEvent(LogEntry entry, boolean mergeCusto
183184
logEvent.put("applicationName", entry.getApplicationName());
184185
logEvent.put("name", entry.getName());
185186
logEvent.put("source", "NRBatchingAppender");
186-
logEvent.put("version", "1.1.10");
187+
logEvent.put("version", "1.1.12");
187188

188189
// Add custom fields
189190
if (customFields != null) {
190191
if (mergeCustomFields) {
191-
for (Map.Entry<String, Object> field : customFields.entrySet()) { // Modify 1.1.0
192-
logEvent.put(field.getKey(), field.getValue());
192+
// Use putPreserveCase() to preserve custom field name casing
193+
LowercaseKeyMap lowercaseMap = (LowercaseKeyMap) logEvent;
194+
for (Map.Entry<String, Object> field : customFields.entrySet()) {
195+
lowercaseMap.putPreserveCase(field.getKey(), field.getValue());
193196
}
194197
} else {
195198
logEvent.put("custom", customFields);

custom-log4j2-appender/src/main/java/com/newrelic/labs/LowercaseKeyMap.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,12 @@ public void putAll(Map<? extends String, ? extends Object> m) {
1717
this.put(entry.getKey().toLowerCase(), entry.getValue());
1818
}
1919
}
20+
21+
/**
22+
* Put a key-value pair without converting the key to lowercase.
23+
* Use this for fields that should preserve their original case (e.g., custom fields).
24+
*/
25+
public Object putPreserveCase(String key, Object value) {
26+
return super.put(key, value);
27+
}
2028
}

custom-log4j2-appender/src/main/java/com/newrelic/labs/NewRelicBatchingAppender.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ private Map<String, Object> parsecustomFields(String customFields) {
159159
for (String pair : pairs) {
160160
String[] keyValue = pair.split("=");
161161
if (keyValue.length == 2) {
162-
custom.put(keyValue[0], keyValue[1]);
162+
custom.put(keyValue[0].trim(), keyValue[1].trim());
163163
}
164164
}
165165
}

0 commit comments

Comments
 (0)