当我们使用Spring Boot构建应用程序时,Logback是默认的日志框架。然而,有些使用者更喜欢使用apollo,所以这里介绍如何在集成apollo后使用其动态日志管理功能代替Logback。
1. 添加apollo客户端依赖
首先要将如下依赖添加到应用程序的pom.xml文件中:
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>${latestReleaseVersion}</version>
</dependency>
这里的${latestReleaseVersion}需要替换成最新的Apollo Client版本号。
2. 添加配置文件
在resources目录下添加apollo的配置文件,比如取名为application-apollo.yaml
。其中只需要添加一些基本的apollo配置:
apollo:
bootstrap:
enabled: true
namespaces: application
configServiceUrl: http://apollo-config-service-url:port/
appId: ${your-app-id}
cluster: ${your-cluster}
//这里注意下面的ignore则表示不需要动态改变的logging
//如果你的logback配置也使用了apollo,那么这里也可以设置为logback.xml
//但是建议只选择其中一种方式
ignore:
- "logging.config"
3.修改代码
在Spring Boot启动类上加上@EnableApolloConfig
注解来读取Apollo的配置:
@EnableApolloConfig
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
4.在Apollo上创建日志配置
登录到Apollo控制台,找到你的项目,然后在左侧找到"生产环境"菜单,点击后在页面中找到日志配置。
接下来创建一个新的日志配置并设置名称(比如my-logging
)和内容。如下所示:
logging.level.com.example=DEBUG
这将为您的应用程序中的com.example
类开启调试日志级别。
5. 重启应用程序
现在重启您的应用程序,如果一切正常,您将看到以下日志:
c.c.a.c.l.LoggingConfigWorker - Loading Logging config from Apollo Config Service
ch.qos.logback.classic.LoggerContext - Will scan for changes in [/root/.logback/config, /root/demo-service/target/classes]
ch.qos.logback.classic.LoggerContext - Will scan for changes in [/root/.logback/config, /root/demo-service/target/classes]
ch.qos.logback.classic.jmx.JMXConfigurator - JMX console is disabled
c.c.a.c.l.LoggingConfigListener - Logging config loaded from Apollo Config Service:
logging.level.com.example=DEBUG
这表明你的程序开始从Apollo中加载日志配置并取代了原来由Logback管理的配置。
示例一:控制台日志输出级别
假设你需要在控制台中动态更改日志的输出级别,你可以使用如下配置:
- 在
application-apollo.yaml
文件中添加配置:
logging:
level:
root: info
- 在Apollo图形界面上创建
logging_level_root
配置项,并将其改为debug
:
root.logging.level=debug
当控制台输出以下“hello world!”时,它将会是debug级别:
LOGGER.debug("hello world!");
示例二:更改日志文件名称
假设你希望动态更改日志文件名称,你可以按照以下步骤操作:
- 添加如下配置到
application-apollo.yaml
文件中:
logging.file.name: /var/log/mylog.log
- 在Apollo图形界面上创建
logging_file_name
配置项,并将其改为/var/log/newlog.log
:
logging.file.name=/var/log/newlog.log
此时,日志将会输出到/var/log/newlog.log
文件,而不是原本指定的/var/log/mylog.log
。
以上就是关于“集成apollo动态日志取缔logback-spring.xml配置”的完整攻略,希望对您有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:集成apollo动态日志取缔logback-spring.xml配置 - Python技术站