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

Java 如何仅为特定类配置log4j2.xml日志级别?,java,log4j,log4j2,Java,Log4j,Log4j2,在log4j中,可以通过package定义日志级别,如下所示: <logger name="org.springframework.web.servlet.mvc.method.annotation" level="info"> <AppenderRef ref="CONSOLE" /> </logger> 奎斯汀:我怎样才能只为一个特定的类定义日志?(例如org.springframework.web.servlet.m

log4j
中,可以通过
package
定义日志级别,如下所示:

    <logger name="org.springframework.web.servlet.mvc.method.annotation" level="info">
        <AppenderRef ref="CONSOLE" />
    </logger>


奎斯汀:我怎样才能只为一个特定的类定义日志?(例如
org.springframework.web.servlet.mvc.method.annotation.EndpointHandlerMapping
)?如果我只是把它放到
中,它也应该与完全限定名一起工作。Logger.name不必仅为包/类,但可以是您想要的任何名称。当您调用LoggerFactory.getLogger(“MyLogger”)时,您必须使用

<Logger name="MyLogger" level="info">
  <AppenderRef ref="CONSOLE"/>
</Logger>

当您使用logger for package并使用logger name from log时,请检查记录的内容。
这个类记录了什么日志记录程序名称?

当您确实记录了任何内容时,该类是否记录了任何内容?如果是,则是。那么我想它实际上应该可以工作。你检查过拼写了吗?记录器名称是
o.s.w.s.m.a.EndpointHandlerMapping
,这是spring boot缩写记录器软件包名称的方式。我会尝试使用@membersound-你确定是spring boot缩写吗?Log4J2有一个日志格式的选项,以这种方式缩写记录器源,但这只是一个输出选项,而不是实际记录器名称的更改。