java - 用于 Spring Boot 日志记录的默认 CONSOLE_LOG_PATTERN 是什么以及在哪里可以找到它?
问题描述
Spring Boot 参考文档4.6。自定义日志配置状态有关默认系统属性的状态,这些属性表示要在控制台上使用的默认日志记录模式(仅支持默认的 Logback 设置)。
- 春天环境:
logging.pattern.console
- 系统属性:
CONSOLE_LOG_PATTERN
我想所有 Spring Boot 框架用户都熟悉默认的日志行外观:
2020-08-04 12:00:00.000 INFO 24568 --- [ main] c.c.MyWonderfulSpringApplication : The following profiles are active: local
只要我想看看它的外观并获得灵感来定义我自己的,我在哪里可以找到当前使用的 Spring Boot 版本的这个默认值?
解决方案
我刚刚发现这个配置DefaultLogbackConfiguration
在 Spring Boot 项目下的文件中可用:
private static final String CONSOLE_LOG_PATTERN = "%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} "
+ "%clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} "
+ "%clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} "
+ "%clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}";
要查找某个 Spring Boot 版本的模式,可以:
- 浏览 GitHub 上可用的源文件:Spring Boot 2.3.x
- 在 IntelliJ Idea 按 2xLeft Shift并全文搜索
DefaultLogbackConfiguration
我发现的来源是https://www.logicbig.com/tutorials/spring-framework/spring-boot/logging-console-pattern.html。
推荐阅读
- https - 如果 Windows Server 2012 将操作系统升级到 Windows Server 2019,那么在其上运行的所有 WAS 和 HTTP 服务器实例都会受到影响吗?
- iteration - 增加迭代次数会影响 log-like、AIC 等吗?
- postgresql - 从特定日期返回所有未完成 postgresql 的请求
- javascript - Chrome 扩展:chrome.runtime.onMessage.addListener 中的代码永远不会被执行
- java - 修改现有 Excel 工作表时如何使用 apache POI 验证单元格的数据?
- python - 如何用 def 函数替换 lambda 函数?
- flutter - 搜索委托,当我点击搜索按钮时,它会显示带有错误子项的红屏!=空
- postgresql - 从 azure devops 自动化 PostgreSQL 脚本,而无需在我的本地计算机上安装任何客户端工具/驱动程序
- javascript - React useEffect:对值更改做出反应以更新另一个也是依赖项
- kotlin - 使用 RxJava 的多个 POST 请求