我有以下日志配置:
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.console和pattern.dateformat的不同值和组合,但它们没有任何效果。
有趣的是这个选项
logging:
level:
com.dashboard: debug确实有效果。这是应用程序包,并且它已登录到调试级别。当它关闭时,它不会被记录下来。
使用slf4j。
问题是,这个应用程序是一个gradle项目,它使用其他gradle项目作为依赖项,它们似乎使用了所有可能的现有记录器/库。我在应用程序上运行了gradle dependencies,然后使用grep查看它有什么功能。
下面是一个exceprt:
+--- 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中的配置具有更高的优先级……
但我确信我的应用程序中的设置应该覆盖所有内容。
发布于 2020-07-20 15:18:12
困难的部分是理解是什么记录器/配置影响了行为。因此,我决定在项目目录中为hh:mm:ss,SSS (在日志中可以看到secs和ms之间的逗号分隔符)执行grep。结果是其他模块中有3个logback.xml文件。它们中没有日期格式。我在我的应用程序模块中创建了logback.xml,并包含了日期格式。在那之后,日期出现在控制台输出中。
https://stackoverflow.com/questions/62950654
复制相似问题