Home / Class/ Log4J2RuntimeHints Class — spring-boot Architecture

Log4J2RuntimeHints Class — spring-boot Architecture

Architecture documentation for the Log4J2RuntimeHints class in Log4J2RuntimeHints.java from the spring-boot codebase.

Entity Profile

Source Code

core/spring-boot/src/main/java/org/springframework/boot/logging/log4j2/Log4J2RuntimeHints.java lines 31–51

class Log4J2RuntimeHints implements RuntimeHintsRegistrar {

	@Override
	public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) {
		if (ClassUtils.isPresent(Log4J2LoggingSystem.Factory.LOG4J_CORE_CONTEXT_FACTORY, classLoader)) {
			registerLog4j2Hints(hints, classLoader);
		}
	}

	private void registerLog4j2Hints(RuntimeHints hints, @Nullable ClassLoader classLoader) {
		hints.reflection().registerTypeIfPresent(classLoader, Log4J2LoggingSystem.Factory.LOG4J_CORE_CONTEXT_FACTORY);
		// Register default Log4j2 configuration files
		hints.resources().registerPattern("org/springframework/boot/logging/log4j2/log4j2.xml");
		hints.resources().registerPattern("org/springframework/boot/logging/log4j2/log4j2-file.xml");
		hints.resources().registerPattern("log4j2.springboot");
		// Declares the types that Log4j2LoggingSystem checks for existence reflectively.
		hints.reflection().registerTypeIfPresent(classLoader, Log4J2LoggingSystem.LOG4J_BRIDGE_HANDLER);
		hints.reflection().registerTypeIfPresent(classLoader, Log4J2LoggingSystem.LOG4J_LOG_MANAGER);
	}

}

Analyze Your Own Codebase

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

Try Supermodel Free