SpringBoot中的YAML配置文件和日志

2023-12-13 22:26:11

与其明天开始,不如现在行动!


YAML配置文件

SpringBoot集中化管理配置:application.properties

问题:配置多了以后难阅读和修i该,层级结构办事都不高

YAML

  • 设计目标,方便读写
  • 层次分明,更适合做配置文件
  • 使用.yaml.yml作为文件后缀

1 基本语法

  1. 大小写敏感
  2. 使用缩进标识层级关系,K: V,使用空格分隔K,V
  3. 缩进时不允许使用Tab键,只允许使用空格
  4. 所进的空格数目不中哟啊,只要相同层级的元素左侧对其即可
  5. #标识注释,从这个字符一直到行尾,都会被解析器忽略

支持的写法:

  1. 对象:键值对的集合
  2. 数组:一组按次序排列的值
  3. 纯量:单个的、不可再分的值

2 语法细节

  1. userCenter可以写为user-cneter
  2. 文本:
    1. 单引号不会转义
    2. 双引号会转义
  3. 大文本
    1. |:开头,大文本在下层,保留文本格式,换行符正确显示
    2. >:开头,大文本在下层,折叠换行符
  4. 多文档合并
    • 使用---可以把多个eyaml文档合并在一个文档中,每个文档区依然认为内容独立

日志

规范:项目开发不要编写System.out.println(),应该用日志记录信息

image-20231207164406771

1 简介

  1. Spring使用commons-logging作为内部日志,但底层日志实现是开放的,可对接其它日志框架。

    Spring5及以后commons-logging被Spring整合了

  2. SpringBoot默认日志是logback+slf4j

  3. 日志是系统以启动就要用的,是用监听器机制配置好的

2 格式

2023-12-07T17:01:33.627+08:00 INFO 19996 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable

默认输出格式:

  1. 时间和日期,毫秒级精度
  2. 日志级别:ERRORWARNINFODEBUGTRACE
  3. 进程ID
  4. —:消息分隔符
  5. 线程名:使用[ ]包含
  6. Logger名,通常是产生日志的类名
  7. 消息,日志记录的内容

logback没有FATAL级别,对应的是ERROR

3 级别

由高到低:OFFFALSEERRORWARNINFODEBUGTRACEALL

  1. 不指定级别的所有类,都使用root指定的级别作为默认级别
  2. SpringBoot日志默认级别是INFO
  3. 可以在配置文件中调整日志级别,可以具体到包

4 日志保存

#指定日志文件的路径,日志文件默认名spring.log
#logging.file.path=
#指定日志文件的名,可以写路径+名字
logging.file.name=demo.log

💎总结

本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家😘!!!


文章来源:https://blog.csdn.net/weixin_54620350/article/details/134899508
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。