在项目开发过程,之前日志配置是日志模块单独配置,其他微服务通过引入日志模块依赖来统一日志配置。但是这样结构有一个痛点就是,如果需要修改日志配置,就需要重新打包,然后构建所有依赖了日志模块的微服务,无法实时修改日志配置。为了实时更新日志配置无需重新构建服务,我们可以把logback日志配置文件放到Nacos维护,这样可以做到实时更新。
将logback配置移到Nacos:
- 登录到Nacos配置管理界面。
- 创建一个新的配置,配置数据(Data ID)命名为logback-spring.xml(spring boot 标准日志配置命名)
- 将你的logback-spring.xml文件内容复制并粘贴到配置数据栏中。
- 选择一个合适的配置格式(如XML)。
在微服务中引入Nacos配置
-
引入Nacos客户端依赖: 确保你的项目中包含了
spring-cloud-starter-alibaba-nacos-config
的依赖。 -
每个微服务都需要知道如何从Nacos加载配置。这通常是通过在微服务的
bootstrap.yml
或bootstrap.properties
或application.yml
/application.properties
中配置Nacos配置中心来实现的。配置文件增加类似以下内容:
spring:
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848 # Nacos服务器地址
username: username
password: password
namespace: your-namespace-id # 如果使用了命名空间
group: your-group # 你的配置分组
data-id: app # 配置应用的Data ID
file-extension: yml # 配置文件后缀
refresh-eabled: true # 动态刷新配置
shared-configs:
- data-id: common.yml
refresh: true
config:
import:
- optional:nacos:logback-spring.xml
common.yml 配置加入日志配置文件配置:
logging:
config: http://${spring.cloud.nacos.config.server-addr}/nacos/v1/cs/configs?group=${spring.cloud.nacos.config.group}tenant=${spring.cloud.nacos.config.namespace}&username=${spring.cloud.nacos.username}&password=${spring.cloud.nacos.password}&dataId=logback-spring.xml
启动服务验证配置是否生效。