java - vertx LoggerHandler 不添加 logback

标签 java logging slf4j vert.x

我正在尝试使用 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 不添加 logback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31422953/

相关文章:

java - 德语大写字母的字符集

java - 如何将没有 .classpath 或 .project 文件的 android 项目导入 Eclipse?

Java永无止境的切换循环(有时)eclipse

java - 如何使用 Mockito 验证是否记录了错误消息?

java - 在 log4j 上集成 slf4j 时出错

java - 如何将 HSSF 行保存为字符串 java POI

elasticsearch - 我们可以从Elastic搜索引擎下载日志文件吗?

c# - 为什么 NLog 在记录大量消息时会漏掉一些消息?

java - 如何每天制作appender?

logging - docx4j 3.0 使用 slf4j/logback 进行日志记录