如何仅为特定类配置 log4j2.xml 日志级别?

mem*_*und 6 java log4j log4j2

log4j有可能被定义日志级别package,如下所示:

    <logger name="org.springframework.web.servlet.mvc.method.annotation" level="info">
        <AppenderRef ref="CONSOLE" />
    </logger>
Run Code Online (Sandbox Code Playgroud)

Questin:如何仅为特定类定义日志记录?(例如org.springframework.web.servlet.mvc.method.annotation.EndpointHandlerMapping)?如果我只是将其放入<logger name属性中,则不再记录任何内容。

Mar*_*koc 8

它也应该使用完全限定的名称。Logger.name 不必只是包/类,但它可以是您想要的任何名称。当您调用 LoggerFactory.getLogger("MyLogger") 时,您必须使用

<Logger name="MyLogger" level="info">
  <AppenderRef ref="CONSOLE"/>
</Logger>
Run Code Online (Sandbox Code Playgroud)

检查使用 logger 进行包时记录的内容并使用日志中的记录器名称。此类记录的记录器名称是什么?