【问题标题】:Spring boot logging / Java logging - Tool to show config/setupSpring boot logging / Java logging - 显示配置/设置的工具
【发布时间】:2018-06-24 22:58:57
【问题描述】:

我习惯使用 log4j,每当出现设置/配置问题时,我都会启用“-Dlog4j.debug”,并且所有配置信息都会在启动时转储。
这在很多场合都非常有用。

现在我正在开发一个 Spring Boot 应用程序,我发现它的用途:

  1. 客户端代码中的常见日志记录器语句
  2. 一个桥接 jar (jcl-over-slf4j-xxx.jar),它将公共日志调用转换为 slf4j more info here
  3. 最后 slf4j 使用“logback”作为底层日志框架

我发现弄清楚这一切是相当痛苦的。
是否有等效的 -Dlog4j.debug 可以告诉我这在启动时是如何挂在一起的?

【问题讨论】:

    标签: java spring-boot logging slf4j apache-commons-logging


    【解决方案1】:

    这是迄今为止我发现的最好/唯一的选项,它是特定于 logback 的。
    在命令行上使用这个 -D:

    -Dlogback.statusListenerClass=ch.qos.logback.core.status.OnConsoleStatusListener
    

    取自here
    这本质上是 log4j 的 -Dlog4j.debug 的 logback 等价物。
    它在启动时将 logback 启动序列转储到控制台,因为日志系统已初始化。

    这不是一个真正的答案,因为我希望在此之前显示一些消息来说明为什么使用 logback,但我还没有找到类似的东西。

    另外:这对 Spring Boot 也可能有用:

    -Ddebug
    

    取自herehere

    【讨论】:

      【解决方案2】:

      如果您使用的是 logback,我假设您使用的是 logback.xml 文件?然后,如果您使用<configuration debug="true"> 启动该文件,那么它应该转储状态信息。更多信息请参见 status data 部分下的documentation

      【讨论】:

      • 谢谢,这是一个好的开始,但它解决了 (3) 而不是 (1) 和 (2)。我所追求的是告诉我(在启动时)我的设置如 1 + 2 + 3 中所述的东西,如果你明白我的意思的话
      • 我认为您的问题是与将配置信息转储到控制台有关?这就是标题所暗示的。
      • 是的,我想在启动时将所有配置信息转储到控制台。所以我可能会看到类似:“日志正在初始化。Commons 日志正在使用 slf4j。Slf4j 正在使用 logback。Logback 正在读取配置文件 /blah/logback.xml。”等
      • 嗯,好的。我以为你想转储 logback 配置。但也许你可以在 slf4j 和 commons 日志文档中找到你想要的一切。
      猜你喜欢
      • 2019-02-22
      • 1970-01-01
      • 2023-03-10
      • 2022-01-14
      • 2014-10-11
      • 2010-11-24
      • 1970-01-01
      • 2017-08-26
      • 1970-01-01
      相关资源
      最近更新 更多