我正在尝试使用LoggerHandler记录所有传入的请求。我正在使用logback.xml指定附加程序。我正在设置用于记录的系统属性。

System.setProperty("org.vertx.logger-delegate-factory-class-name",
            "org.vertx.java.core.logging.impl.SLF4JLogDelegateFactory");

仍然它将所有内容记录在控制台中而不是文件中。

最佳答案

这适用于Vert.x 3.4.1:

    import static io.vertx.core.logging.LoggerFactory.LOGGER_DELEGATE_FACTORY_CLASS_NAME;
    import io.vertx.core.logging.LoggerFactory;

    // ...

    setProperty (LOGGER_DELEGATE_FACTORY_CLASS_NAME, SLF4JLogDelegateFactory.class.getName ());
    LoggerFactory.getLogger (LoggerFactory.class); // Required for Logback to work in Vertx

关键是要获得一个记录器,我想它会初始化Logging子系统,当我尝试使用两个不同的记录器时,用来获取Logger的类似乎无关紧要。

我将这些行作为生产代码和测试中程序的第一行来运行,以在两种情况下均能正常工作。

关于java - vertx LoggerHandler不添加回退,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31422953/

10-15 11:25