log4j2 logger.entry()方法不打印日志消息

时间:2014-10-07 17:10:49

标签: java log4j2

我正在使用log4j2框架,在每个方法中我都试图通过在开始时调用entry()和在结尾处的exit()来记录进入和退出但是这些方法没有打印任何日志信息。请任何人都可以帮助我,因为我是这个框架的新手。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <Console target="SYSTEM_OUT" name="CONSOLE">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
    </Console>
  </Appenders>
  <Loggers>
    <Root level="error">
      <AppenderRef ref="Console" />
    </Root>
    <Root level="trace">
      <AppenderRef ref="CONSOLE" />
    </Root>
    <Root level="ERROR">
      <AppenderRef ref="CONSOLE" />
    </Root>
    <Root level="info">
      <AppenderRef ref="CONSOLE" />
    </Root>
    <Root level="debug">
      <AppenderRef ref="CONSOLE" />
    </Root>
  </Loggers>
</Configuration>

2 个答案:

答案 0 :(得分:4)

我同意之前的回答:您的配置只能包含一个 <Root>元素。

然后,要回答有关entry()和exit()方法的问题,要使这些方法有用,您需要在模式中启用 location 信息。例如:

<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} %method - %msg%n" />

答案 1 :(得分:2)

配置文件中应该只有一个Root定义 - 您为记录器设置的级别是该记录器将生成的最好的详细级别,因此记录器设置为TRACE将产生TRACE,DEBUG,INFO,WARN,ERROR和FATAL消息,一组设置为ERROR将仅产生ERROR和FATAL消息等。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <Console target="SYSTEM_OUT" name="CONSOLE">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
    </Console>
  </Appenders>
  <Loggers>
    <Root level="trace">
      <AppenderRef ref="CONSOLE" />
    </Root>
  </Loggers>
</Configuration>

此配置会将所有级别的所有日志消息从任何记录器(在您自己的或第三方代码中)记录到控制台。更常见的是设置,以便大多数记录器使用更高的阈值,但您可以为特别需要它的类打开更详细的日志记录,例如

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <Console target="SYSTEM_OUT" name="CONSOLE">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
    </Console>
  </Appenders>
  <Loggers>
    <!-- log TRACE-level messages for com.example and its descendants -->
    <Logger level="trace" name="com.example" />
    <!-- but only WARN or higher for anything else -->
    <Root level="warn">
      <AppenderRef ref="CONSOLE" />
    </Root>
  </Loggers>
</Configuration>