jsonMembers() — spring-boot Function Reference
Architecture documentation for the jsonMembers() function in ElasticCommonSchemaStructuredLogFormatter.java from the spring-boot codebase.
Entity Profile
Dependency Diagram
graph TD 8746d624_5b44_ba47_84d3_75bf3d589a2d["jsonMembers()"] c4f8092e_2011_abd3_66ae_5e75dfc0a34c["ElasticCommonSchemaStructuredLogFormatter()"] c4f8092e_2011_abd3_66ae_5e75dfc0a34c -->|calls| 8746d624_5b44_ba47_84d3_75bf3d589a2d 6040ac94_b86b_47f1_7325_fa71a218688d["usingMembers()"] 8746d624_5b44_ba47_84d3_75bf3d589a2d -->|calls| 6040ac94_b86b_47f1_7325_fa71a218688d 09510782_bfd4_cf98_4905_11e27292b669["whenNotNull()"] 8746d624_5b44_ba47_84d3_75bf3d589a2d -->|calls| 09510782_bfd4_cf98_4905_11e27292b669 512d13be_5d91_6d1d_7c10_2d6ee4d7d74d["get()"] 8746d624_5b44_ba47_84d3_75bf3d589a2d -->|calls| 512d13be_5d91_6d1d_7c10_2d6ee4d7d74d d67cbb86_f0d1_dd2d_70d9_f4b1990cd72d["usingPairs()"] 8746d624_5b44_ba47_84d3_75bf3d589a2d -->|calls| d67cbb86_f0d1_dd2d_70d9_f4b1990cd72d 7a028b4a_d3c9_e5bf_e4c1_097b6e966373["whenNotEmpty()"] 8746d624_5b44_ba47_84d3_75bf3d589a2d -->|calls| 7a028b4a_d3c9_e5bf_e4c1_097b6e966373 d0d59b0c_56d4_a304_dc9e_100c37a66c83["add()"] 8746d624_5b44_ba47_84d3_75bf3d589a2d -->|calls| d0d59b0c_56d4_a304_dc9e_100c37a66c83 deb140ea_5f8f_4b97_e681_0ecb26122f6b["nested()"] 8746d624_5b44_ba47_84d3_75bf3d589a2d -->|calls| deb140ea_5f8f_4b97_e681_0ecb26122f6b be5434e0_bd26_0a86_0eaf_04e23efc5581["addMapEntries()"] 8746d624_5b44_ba47_84d3_75bf3d589a2d -->|calls| be5434e0_bd26_0a86_0eaf_04e23efc5581 style 8746d624_5b44_ba47_84d3_75bf3d589a2d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
core/spring-boot/src/main/java/org/springframework/boot/logging/logback/ElasticCommonSchemaStructuredLogFormatter.java lines 62–95
private static void jsonMembers(Environment environment, @Nullable StackTracePrinter stackTracePrinter,
ContextPairs contextPairs, ThrowableProxyConverter throwableProxyConverter,
JsonWriter.Members<ILoggingEvent> members) {
Extractor extractor = new Extractor(stackTracePrinter, throwableProxyConverter);
members.add("@timestamp", ILoggingEvent::getInstant);
members.add("log").usingMembers((log) -> {
log.add("level", ILoggingEvent::getLevel);
log.add("logger", ILoggingEvent::getLoggerName);
});
members.add("process").usingMembers((process) -> {
process.add("pid", environment.getProperty("spring.application.pid", Long.class)).whenNotNull();
process.add("thread").usingMembers((thread) -> thread.add("name", ILoggingEvent::getThreadName));
});
ElasticCommonSchemaProperties.get(environment).jsonMembers(members);
members.add("message", ILoggingEvent::getFormattedMessage);
members.add().usingPairs(contextPairs.nested((pairs) -> {
pairs.addMapEntries(ILoggingEvent::getMDCPropertyMap);
pairs.add(ILoggingEvent::getKeyValuePairs, keyValuePairExtractor);
}));
Function<@Nullable ILoggingEvent, @Nullable Object> getThrowableProxy = (event) -> (event != null)
? event.getThrowableProxy() : null;
members.add().whenNotNull(getThrowableProxy).usingMembers((throwableMembers) -> {
throwableMembers.add("error").usingMembers((error) -> {
error.add("type", ILoggingEvent::getThrowableProxy).as(IThrowableProxy::getClassName);
error.add("message", ILoggingEvent::getThrowableProxy).as(IThrowableProxy::getMessage);
error.add("stack_trace", extractor::stackTrace);
});
});
members.add("tags", ILoggingEvent::getMarkerList)
.whenNotNull()
.as(ElasticCommonSchemaStructuredLogFormatter::getMarkers)
.whenNotEmpty();
members.add("ecs").usingMembers((ecs) -> ecs.add("version", "8.11"));
}
Domain
Subdomains
Called By
- ElasticCommonSchemaStructuredLogFormatter()
Source
Frequently Asked Questions
What does jsonMembers() do?
jsonMembers() is a function in the spring-boot codebase.
What does jsonMembers() call?
jsonMembers() calls 8 function(s): add, addMapEntries, get, nested, usingMembers, usingPairs, whenNotEmpty, whenNotNull.
What calls jsonMembers()?
jsonMembers() is called by 1 function(s): ElasticCommonSchemaStructuredLogFormatter.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free