如果在 log4j2 配置中的 logger 中只定义了 name 和 level,并且没有定义 AppenderRef,日志将会被输出到根 logger 的 Appender 中。根 logger 是默认的顶层 logger,如果没有显式定义其他 logger,所有的日志都会被发送到根 logger。
根 logger 的配置通常在配置文件的顶部,类似于以下示例:
<Configuration>
<Appenders>
<!-- 定义根 logger 的 Appender -->
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<!-- 定义根 logger -->
<Root level="debug">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
在上述配置中,根 logger 被定义为级别为 “debug”,并且通过 <AppenderRef ref="Console"/>
将日志发送到名为 “Console” 的 Appender(这里是一个控制台输出的 Appender)。
所以,如果在配置中只定义了 logger 的 name 和 level,并没有显式指定 AppenderRef,日志将会被发送到根 logger 的 Appender 中,根据根 logger 的配置进行处理,通常是输出到控制台或者其他指定的目标。