第一个问题的设计比较容易想到,这儿不做过多解释。
重点阐述第二点。spring boot admin可视化管理logback的原理:用户点击按钮时发送HTTP指令给jolokia,jolokia调用MBean进行处理。也就是说只需要在log4j2的应用中创建一个相应的MBean就能实现对应的功能了。结合扩展功能中的第一张图,可以看到MBean的名字为ch.qos.logback.classic.jmx.JMXConfigurator,就是这个道理了。
引入lib log4j2扩展的依赖即可。
<!-- 引入lib log4j2扩展 --> <dependency> <groupId>cn.home1</groupId> <artifactId>oss-lib-log4j2-spring-boot-${spring-boot.version}</artifactId> <scope>runtime</scope> </dependency>
具体引入配置如下:
<!-- 引入依赖管理 --> <dependencyManagement> <dependencies> <dependency> <groupId>cn.home1</groupId> <artifactId>oss-release-spring-boot-${spring-boot.version}</artifactId> <version>${oss-release.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <!-- spring boot admin 管理需要 --> <dependency> <groupId>cn.home1</groupId> <artifactId>oss-lib-adminclient-spring-boot-${spring-boot.version}</artifactId> <scope>runtime</scope> </dependency> <!-- spring boot admin server 通过jolokia调用JMX ---> <dependency> <groupId>org.jolokia</groupId> <artifactId>jolokia-core</artifactId> </dependency> <!-- 引入lib log4j2扩展 --> <dependency> <groupId>cn.home1</groupId> <artifactId>oss-lib-log4j2-spring-boot-${spring-boot.version}</artifactId> <scope>runtime</scope> </dependency>