Home / Function/ jsonMembers() — spring-boot Function Reference

jsonMembers() — spring-boot Function Reference

Architecture documentation for the jsonMembers() function in ElasticCommonSchemaStructuredLogFormatter.java from the spring-boot codebase.

Function java GradlePlugin DslExtensions calls 8 called by 1

Entity Profile

Dependency Diagram

graph TD
  35eb7ecf_9392_fb71_cf15_2f2d3e61ddac["jsonMembers()"]
  9e3bdc8d_6686_373b_25b3_52fb44622b2c["ElasticCommonSchemaStructuredLogFormatter()"]
  9e3bdc8d_6686_373b_25b3_52fb44622b2c -->|calls| 35eb7ecf_9392_fb71_cf15_2f2d3e61ddac
  6040ac94_b86b_47f1_7325_fa71a218688d["usingMembers()"]
  35eb7ecf_9392_fb71_cf15_2f2d3e61ddac -->|calls| 6040ac94_b86b_47f1_7325_fa71a218688d
  09510782_bfd4_cf98_4905_11e27292b669["whenNotNull()"]
  35eb7ecf_9392_fb71_cf15_2f2d3e61ddac -->|calls| 09510782_bfd4_cf98_4905_11e27292b669
  512d13be_5d91_6d1d_7c10_2d6ee4d7d74d["get()"]
  35eb7ecf_9392_fb71_cf15_2f2d3e61ddac -->|calls| 512d13be_5d91_6d1d_7c10_2d6ee4d7d74d
  d67cbb86_f0d1_dd2d_70d9_f4b1990cd72d["usingPairs()"]
  35eb7ecf_9392_fb71_cf15_2f2d3e61ddac -->|calls| d67cbb86_f0d1_dd2d_70d9_f4b1990cd72d
  7a028b4a_d3c9_e5bf_e4c1_097b6e966373["whenNotEmpty()"]
  35eb7ecf_9392_fb71_cf15_2f2d3e61ddac -->|calls| 7a028b4a_d3c9_e5bf_e4c1_097b6e966373
  7861385d_f2c2_c637_c93d_c701d847504d["jsonMembers()"]
  35eb7ecf_9392_fb71_cf15_2f2d3e61ddac -->|calls| 7861385d_f2c2_c637_c93d_c701d847504d
  23c49072_2f09_ef1e_a9ad_41f2e7c414fd["add()"]
  35eb7ecf_9392_fb71_cf15_2f2d3e61ddac -->|calls| 23c49072_2f09_ef1e_a9ad_41f2e7c414fd
  deb140ea_5f8f_4b97_e681_0ecb26122f6b["nested()"]
  35eb7ecf_9392_fb71_cf15_2f2d3e61ddac -->|calls| deb140ea_5f8f_4b97_e681_0ecb26122f6b
  style 35eb7ecf_9392_fb71_cf15_2f2d3e61ddac fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

core/spring-boot/src/main/java/org/springframework/boot/logging/log4j2/ElasticCommonSchemaStructuredLogFormatter.java lines 56–84

	private static void jsonMembers(Environment environment, @Nullable StackTracePrinter stackTracePrinter,
			ContextPairs contextPairs, JsonWriter.Members<LogEvent> members) {
		Extractor extractor = new Extractor(stackTracePrinter);
		members.add("@timestamp", LogEvent::getInstant).as(ElasticCommonSchemaStructuredLogFormatter::asTimestamp);
		members.add("log").usingMembers((log) -> {
			log.add("level", LogEvent::getLevel).as(Level::name);
			log.add("logger", LogEvent::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", LogEvent::getThreadName));
		});
		ElasticCommonSchemaProperties.get(environment).jsonMembers(members);
		members.add("message", LogEvent::getMessage).as(StructuredMessage::get);
		members.from(LogEvent::getContextData)
			.usingPairs(contextPairs.nested(ElasticCommonSchemaStructuredLogFormatter::addContextDataPairs));
		members.from(LogEvent::getThrown)
			.whenNotNull()
			.usingMembers((thrownMembers) -> thrownMembers.add("error").usingMembers((error) -> {
				error.add("type", ObjectUtils::nullSafeClassName);
				error.add("message", Throwable::getMessage);
				error.add("stack_trace", extractor::stackTrace);
			}));
		members.add("tags", LogEvent::getMarker)
			.whenNotNull()
			.as(ElasticCommonSchemaStructuredLogFormatter::getMarkers)
			.whenNotEmpty();
		members.add("ecs").usingMembers((ecs) -> ecs.add("version", "8.11"));
	}

Domain

Subdomains

Called By

  • ElasticCommonSchemaStructuredLogFormatter()

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, get, jsonMembers, 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