无法获取登录日期 Spring 启动

Cannot get date to be logged in Spring Boot

我有以下日志记录配置:

logging:
  level:
    com.dashboard: debug
    org:
      springframework:
        jdbc:
          core:
            JdbcTemplate: debug
            StatementCreatorUtils: trace
  pattern:
#    console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"
    console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"
#    dateformat: "yyyy-MM-dd HH:mm:ss.SSS"
#    console: '%date{"yyyy/MM/dd HH:mm:ss,SSS", UTC} [%p] [%t] %M\(%F:%L\) - %msg%n'
#    console: %d{yyyy-MM-dd HH:mm:ss} - %msg%n

然而,当我 运行 应用程序时,我在日志中看不到日期:

11:55:13,589 DEBUG [ ...

我尝试了上面 pattern.consolepattern.dateformat 的不同值和组合,但它们没有任何效果。

有趣的是选项

logging:
  level:
    com.dashboard: debug

确实有效果。它是应用程序包,并且以调试级别登录。当它关闭时,它不会被记录。

使用slf4j。

问题是该应用程序是一个 gradle 项目,它使用其他 gradle 项目作为依赖项,并且它们似乎使用所有可能的现有 loggers/libs。我在应用程序上 运行 gradle dependencies 然后使用 grep 查看它有什么。

这是一个摘录:

+--- org.slf4j:slf4j-api:1.7.25
|    +--- org.slf4j:slf4j-api:1.7.25
|    |    +--- org.slf4j:slf4j-api:1.7.25
|    |    |    +--- org.slf4j:slf4j-api:1.7.25
|    |    |         |    |    |    \--- org.slf4j:slf4j-api:1.7.25
|    |    |         |    |    +--- org.apache.logging.log4j:log4j-to-slf4j:2.11.1
|    |    |         |    |    |    +--- org.slf4j:slf4j-api:1.7.25
|    |    |         |    |    |    \--- org.apache.logging.log4j:log4j-api:2.11.1
|    |    |         |    |    \--- org.slf4j:jul-to-slf4j:1.7.25
|    |    |         |    |         \--- org.slf4j:slf4j-api:1.7.25
|    |    |    +--- org.slf4j:slf4j-api:1.7.25
|    |    |    |    |    |    +--- org.slf4j:slf4j-api:1.6.4 -> 1.7.25
|    |    |    |    |    +--- org.slf4j:slf4j-api:1.7.0 -> 1.7.25
|    |    |    |    |    |    \--- org.slf4j:slf4j-api:1.7.25
|    |    |    |    |    \--- org.slf4j:slf4j-api:1.7.25
|    |    |    |         \--- org.slf4j:slf4j-api:1.7.25
|    |    |    |         +--- org.slf4j:slf4j-api:1.7.12 -> 1.7.25
|    |    |    |              \--- org.slf4j:slf4j-api:1.7.12 -> 1.7.25
|    |    |    |    |         |    \--- org.slf4j:slf4j-api:1.7.25
|    |    |    |    |         \--- org.slf4j:slf4j-api:1.7.25
...

我不确定他们的某些配置是否比我的应用程序 application.yml 中的配置具有更高的优先级...

但我确定我的应用程序中的设置应该覆盖所有内容。

困难的部分是理解是什么 logger/configuration 影响了行为。所以我决定在项目目录中 grep for hh:mm:ss,SSS (在日志中看到 secs 和 ms 之间的逗号作为分隔符)。结果是其他模块中有 3 logback.xml 个文件。他们没有日期格式。我在我的应用程序模块中创建了 logback.xml 并包含了日期格式。之后日期出现在控制台输出中。