Skip to content

Commit 4e151c4

Browse files
Merge pull request #140 from KarstenSchnitter/refactor-json-generation
Refactor Logback Log Generation
2 parents 106b648 + 0dd1c58 commit 4e151c4

37 files changed

+823
-1485
lines changed

cf-java-logging-support-core/src/main/java/com/sap/hcp/cf/logging/common/converter/DefaultCustomFieldsConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ private void addCustomFields(ArrayComposer<ObjectComposer<JSONComposer<String>>>
107107
// Let argument CustomField take precedence over MDC
108108
CustomField field = customFields.get(key);
109109
if (field != null) {
110-
value = field.getValue();
110+
value = String.valueOf(field.getValue());
111111
}
112112
if (value != null) {
113113
oc.startObject().put("k", key).put("v", value).put("i", i).end();

cf-java-logging-support-core/src/main/java/com/sap/hcp/cf/logging/common/customfields/CustomField.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ public String getKey() {
3030
return key;
3131
}
3232

33-
public String getValue() {
34-
return String.valueOf(value);
33+
public Object getValue() {
34+
return value;
3535
}
3636

3737
@Override
3838
public String toString() {
39-
return key + "=" + getValue();
39+
return key + "=" + String.valueOf(value);
4040
}
4141

4242
private void validateNotNull(Object obj, String msg) throws IllegalArgumentException {

cf-java-logging-support-core/src/main/java/com/sap/hcp/cf/logging/common/request/RequestRecord.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.time.Clock;
44
import java.time.Duration;
55
import java.time.Instant;
6+
import java.util.Collections;
67
import java.util.HashMap;
78
import java.util.HashSet;
89
import java.util.Map;
@@ -216,6 +217,11 @@ public String toString() {
216217
}
217218
}
218219

220+
public Map<String, Value> getFields() {
221+
finish();
222+
return Collections.unmodifiableMap(fields);
223+
}
224+
219225
private void setDefaults() {
220226
LogContext.loadContextFields();
221227
addValue(Fields.RESPONSE_SIZE_B, Defaults.RESPONSE_SIZE_B);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.sap.hcp.cf.logging.common.serialization;
2+
3+
import java.util.Map;
4+
import java.util.function.Supplier;
5+
6+
@FunctionalInterface
7+
public interface ContextFieldSupplier extends Supplier<Map<String, Object>> {
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.sap.hcp.cf.logging.common.serialization;
2+
3+
public class FullVcapEnvFieldSupplier extends VcapEnvFieldSupplier {
4+
5+
public FullVcapEnvFieldSupplier() {
6+
super(true);
7+
}
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.sap.hcp.cf.logging.common.serialization;
2+
3+
import java.util.Collections;
4+
import java.util.HashMap;
5+
import java.util.Map;
6+
7+
import com.sap.hcp.cf.logging.common.LogContext;
8+
import com.sap.hcp.cf.logging.common.VcapEnvReader;
9+
10+
public class VcapEnvFieldSupplier implements ContextFieldSupplier {
11+
12+
private final Map<String, Object> envMap;
13+
14+
public VcapEnvFieldSupplier() {
15+
this(false);
16+
}
17+
18+
protected VcapEnvFieldSupplier(boolean sendDefaultValues) {
19+
Map<String, Object> map = new HashMap<>();
20+
map.putAll(VcapEnvReader.getEnvMap());
21+
if (sendDefaultValues) {
22+
LogContext.getContextFieldsKeys().stream().forEach(k -> map.computeIfAbsent(k, LogContext::getDefault));
23+
}
24+
this.envMap = Collections.unmodifiableMap(map);
25+
}
26+
27+
@Override
28+
public Map<String, Object> get() {
29+
return envMap;
30+
}
31+
32+
}

cf-java-logging-support-log4j2/src/main/java/com/sap/hcp/cf/log4j2/converter/ContextPropsConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ private Map<String, String> addCustomFieldsFromArguments(Map<String, String> con
7676
result = new HashMap<>(contextData);
7777
unchangedContextData = false;
7878
}
79-
result.put(field.getKey(), field.getValue());
79+
result.put(field.getKey(), String.valueOf(field.getValue()));
8080
}
8181
}
8282
return result;

cf-java-logging-support-logback/src/main/java/com/sap/hcp/cf/logback/converter/CategoriesConverter.java

Lines changed: 0 additions & 61 deletions
This file was deleted.

cf-java-logging-support-logback/src/main/java/com/sap/hcp/cf/logback/converter/ContextPropsConverter.java

Lines changed: 0 additions & 81 deletions
This file was deleted.

cf-java-logging-support-logback/src/main/java/com/sap/hcp/cf/logback/converter/CustomFieldsAdapter.java

Lines changed: 0 additions & 73 deletions
This file was deleted.

0 commit comments

Comments
 (0)