**slf4j(Simple Logging Facade for Java) **是基于门面模式设计的一套API,是用于日志记录系统的简单外观,允许最终用户在部署时插入所需的日志记录系统。
项目中使用的日志规范。
日志级别:
log.trace(“trace”); //跟踪 级别最低
log.debug(“debug”);
log.info(“info”); //默认级别
log.warn(“warn”);
log.error(“error”); //级别最高
改变日志级别:在bootstrap.yml里加上
#可以放到配置中心
logging:
level:
com.jt: debug
2、Nacos配置管理模型
- Namespace:命名空间,对不同的环境进行隔离,比如隔离开发环境和生产环境
- Group:分组,将若干个服务或者若干个配置集归为一组
- Service/DataId: 某一个服务或配置集,一般对应一个配置文件
当同一个namespace的多个配置文件中都有相同配置时,可以对这些配置进行提取,然后存储到nacos配置中心的一个或多个指定配置文件,哪个微服务需要,就在服务的配置中设置读取即可。
# 共享配置
shared-configs[0]:
data-id: app-public.yml
refresh: true #默认false,共享配置更新,引用此配置的地方是否要更新
3、注解
@Slf4j
lombok中的这个注解用于告诉lombok,为我们的类中创建一个org.slf4j.Logger对象
@RefreshScope在配置中心的相关配置发生变化以后,能够及时看到类中属性值的更新(底层是通过重新创建Controller对象的方式,对属性进行了重新初始化)
4、总结 1.什么是配置中心?配置中心是存储项目配置信息的一个服务,最基础的功能就是存储一个键值对,用户发布一个配置(configKey),然后客户端获取这个配置项(configValue);进阶的功能就是当某个配置项发生变更时,不停机就可以动态刷新服务内部的配置项。
2.配置中心一般会配置什么内容?可能会经常变化的配置信息,例如连接池、日志、线程池、限流熔断规则
3.一般不会写道配置中心的信息?服务端口、服务名、服务的注册地址、配置中心
4.Nacos配置中心宕机了,我们的服务还可以读取到配置信息吗?可以从内存中读到,客户端获取了配置中心的配置信息以后,会将配置信息在本地内存中存储一份。
5.市场上主流的配置中心?Apollo(携程开源),nacos(阿里开源),Spring Cloud Config(Spring Cloud全家桶成员)
6.为什么要使用配置中心?为了集中管理配置信息,动态发布配置信息。
7.项目中为什么要定义bootstrap.yml文件:此文件被读取的优先级比较高,可以在服务启动时读取配置中心的数据bootstrap.yml 优先级最高
bootstrap.properties 次之
application.yml 次之
application.properties 最低



