第一个问题的设计比较容易想到,这儿不做过多解释。
重点阐述第二点。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>