调用 log.info() 时,log4j 记录器不记录任何内容

log4j logger is not logging anything when log.info() is called

我有这个:

main/resources/log4j.properties

# Define the root logger with appender file
log4j.rootLogger = INFO

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

我使用以下方式称呼它:

package huru.middleware;

import huru.MainVerticle;
import io.vertx.core.Handler;
import io.vertx.core.http.HttpHeaders;
import io.vertx.core.http.HttpServerRequest;
import io.vertx.ext.web.RoutingContext;
import io.vertx.ext.web.handler.impl.BodyHandlerImpl;
import org.apache.log4j.Logger;

public class JWTHandler implements Handler<RoutingContext> {

  private final Logger log = Logger.getLogger(MainVerticle.class);

  public void handle(RoutingContext ctx) {
    HttpServerRequest request = ctx.request();
    log.info("in the jwt middleware");
    System.out.println("DOOOOF");
    System.out.println(ctx.request().method());
    ctx.next();
  }
}

System.out.println 调用将被记录,但 log.info() 不记录任何内容。有人知道我的配置可能有什么问题吗?

一个快速修复方法是稍微更改 log4j.properties

log4j.rootLogger = INFO, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout