为什么 Logger 没有记录??

Why Logger not logged??

这是我的 Log4j 配置文件:

<!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
    <level value="error" />
</logger>

<logger name="org.springframework.beans">
    <level value="error" />
</logger>

<logger name="org.springframework.context">
    <level value="error" />
</logger>

<logger name="org.springframework.web">
    <level value="error" />
</logger>

<logger name="org.hibernate">
    <level value="error" />
</logger>

<logger name="org.springframework.security">
    <level value="error" />
</logger>

<!-- Root Logger -->
<root>
    <priority value="warn" />
    <appender-ref ref="console" />
</root>

.

我在服务中使用日志,例如:

private static final Logger LOG = LoggerFactory.getLogger(CommessaServiceImpl.class);

然后:

LOG.info("Start method");

但我在控制台中什么也看不到...

为什么??

因为您正在记录 info(LOG.info) 并且记录级别设置为 errorwarn

改为

<root>
    <priority value="info" />
    <appender-ref ref="console" />
</root>

您看不到日志的原因有很多。

  1. 您还没有定义任何附加程序。你需要这样的东西:

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
      <layout class="org.apache.log4j.PatternLayout">
        <!-- Pattern to output the caller's file name and line number -->
        <param name="ConversionPattern" value="%d{dd-MM-yy HH:mm:ss,SS} %5p [%t] (%F:%L) - %m%n" />
     </layout>
    </appender>
    
  2. 您的日志级别都设置为 "error",您正在尝试以 "info" 级别登录。