我正在尝试使用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/