当前位置: 首页 > 知识库问答 >
问题:

Vertx LoggerHandler不添加日志返回

锺离卓
2023-03-14

我正在尝试使用LoggerHandler记录所有传入的请求。我在用logback。xml来指定appender。我正在为日志设置系统属性。

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

它仍然是记录一切在控制台不在文件中。

共有3个答案

卫振
2023-03-14

我知道这个问题有点老了,但我能让vertxLoggerHandler不使用JUL的唯一方法是调用LoggerFactory。按照问题中的说明设置系统属性后初始化()。

更好的是,我把属性设置在我的build.gradle,就像这样:

run {
  systemProperty(
    "vertx.logger-delegate-factory-class-name",
    "io.vertx.core.logging.SLF4JLogDelegateFactory"
  )
  args = ['run', mainVerticleName, "--redeploy=$watchForChange", "--launcher-class=$mainClassName", "--on-redeploy=$doOnChange",
          "-Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.SLF4JLogDelegateFactory" ]
}

然后在我的MainVerticle::start的最顶端,我有:

LoggerFactory.initialise()

然后,砰的一声。现在所有内容都已正确格式化,包括所有启动输出。

楚望
2023-03-14

我能够让它通过设置VM选项这样的工作:

-Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.Log4jLogDelegateFactory

然后在我的log4j.properties中,我不得不补充一句:

log4j.category.io.vertx = TRACE
沈国安
2023-03-14

这对我和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

关键是获取一个记录器,我猜它初始化了日志子系统,您用来获取记录器的类似乎与我尝试使用的两个不同的类无关。

我将这些行作为程序的第一行在生产代码和测试中运行,以在这两种环境中正常工作。

 类似资料:
  • 我在SpringBoot中使用logback,但无法删除旧的日志文件。 我在logback-spring.xml文件中定义了以下appender: 即使我设置了“MaxHistory”和“CleanHistoryonStart”,超过10天的日志文件也不会被删除。既不是翻转也不是启动。

  • 在我的应用程序的logback.xml中,我有一个AsyncAppender定义如下。 当我在Windows10上部署Tomcat中的war时。 null 请各位专家告诉我,我在这里做错了什么?AsyncAppender是否有其他属性可以帮助修复此行为?

  • 编辑 删除这一行后,将在控制台上打印日志。但是,我看不到正在创建的文件。

  • 我在试着设置QAF。早些时候,当我设置框架时,我可以在控制台和输出日志文件中看到驱动程序日志。但现在我看不到他们了。我没有在日志文件配置或它的目录中做任何更改。有人能给我一些建议吗?

  • 是否有一种方法可以将时间戳添加到。pm2/logs中的错误日志中? 我注意到命令显示带有时间戳的聚合日志,但查看日志文件时,只有消息和stacktraces没有日期。

  • 本文向大家介绍C# 如何添加错误日志信息,包括了C# 如何添加错误日志信息的使用技巧和注意事项,需要的朋友参考一下 系统日志 系统日志包含了由Windows系统组件记录的事件。例如,在启动期间装入驱动程序或其他系统组件失败被记录到系统日志。要查看系统日志: 打开命令提示符。 在提示符下输入eventvwr。这打开了Windows事件查看器。 应用程序日志 应用程序日志包含了由应用程序或程序记录的事