Home / Type/ StructuredLoggingJsonMembersCustomizer Type — spring-boot Architecture

StructuredLoggingJsonMembersCustomizer Type — spring-boot Architecture

Architecture documentation for the StructuredLoggingJsonMembersCustomizer type/interface in StructuredLoggingJsonMembersCustomizer.java from the spring-boot codebase.

Entity Profile

Source Code

core/spring-boot/src/main/java/org/springframework/boot/logging/structured/StructuredLoggingJsonMembersCustomizer.java lines 47–89

@FunctionalInterface
public interface StructuredLoggingJsonMembersCustomizer<T> {

	/**
	 * Customize the given {@link Members} instance.
	 * @param members the members instance to customize
	 */
	void customize(JsonWriter.Members<T> members);

	/**
	 * Builder that can be injected into a {@link StructuredLogFormatter} to build the
	 * {@link StructuredLoggingJsonMembersCustomizer} when specific settings are required.
	 *
	 * @param <T> the type being written
	 * @since 3.5.4
	 */
	interface Builder<T> {

		/**
		 * Use nested fields when adding JSON from user defined properties.
		 * @return this builder
		 */
		default Builder<T> nested() {
			return nested(true);
		}

		/**
		 * Set if nested fields should be used when adding JSON from user defined
		 * properties.
		 * @param nested if nested fields are to be used
		 * @return this builder
		 */
		Builder<T> nested(boolean nested);

		/**
		 * Build the {@link StructuredLoggingJsonMembersCustomizer}.
		 * @return the built customizer
		 */
		StructuredLoggingJsonMembersCustomizer<T> build();

	}

}

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free