第四节 配置SpringBootAdmin日志管理

news/2025/2/14 1:50:49/

本来想用一节就写完SpringBootAdmin的,但随着研究的深入发现一节应该是不够的,网上的资料也不会非常系统,官网的例子有些已经好几年没更新了,所以接下来还是系统性的来写下吧

第一节 完成基础配置,暴露所有端点
第二节 给SpringBootAdmin的server端加入spring security安全控制
第三节 给SpringBootAdmin的clientr端加入spring security安全控制
第四节 配置SpringBootAdmin日志管理
第五节 配置SpringBootAdmin电子邮件通知

参考文章:
Spring Boot Admin 动态修改日志级别的方法步骤
Spring Boot Admin在线查看spring boot后台日志

一、配置logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false"><!-- 日志存放路径 --><property name="log.path" value="logs/sbaclient01" /><!-- 日志输出格式 --><property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /><!-- 控制台输出 --><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%highlight${log.pattern}</pattern></encoder></appender><!-- 系统日志输出 --><appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/info.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 30--><maxHistory>30</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder></appender><appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/error.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 30--><maxHistory>30</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>ERROR</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><!-- 系统模块日志级别控制  --><logger name="com.example" level="info" /><!-- Spring日志级别控制  --><logger name="org.springframework" level="warn" /><!--myibatis log configure --><logger name="com.apache.ibatis" level="warn" /><logger name="java.sql.Connection" level="warn" /><logger name="java.sql.Statement" level="warn" /><logger name="java.sql.PreparedStatement" level="warn" /><root level="info"><appender-ref ref="console" /></root><!--系统操作日志--><root level="info"><appender-ref ref="file_info" /><appender-ref ref="file_error" /></root>
</configuration>

二、增加配置项

# log
logging.file.name=logs/sbaclient01/info.log

经过上面两项配置重启,就可以在server端看client的日志了
我们这里创建一个测试类HelloController

@RestController
@RequestMapping("/test")
public class HelloController {private static final Logger log = LoggerFactory.getLogger(HelloController.class);@GetMapping("/hello")public String hello(){String s = "hello," + new Date();log.error("error"+s);log.info("info"+s);return s;}
}

为了方便访问,security配置做了点修改

@Configuration
public class SecurityConfig {@Beanprotected SecurityFilterChain filterChain(HttpSecurity http) throws Exception {return http.authorizeHttpRequests((authorizeRequests) -> authorizeRequests.requestMatchers(new AntPathRequestMatcher("/test/hello")).permitAll().anyRequest().authenticated()).formLogin().and().httpBasic(Customizer.withDefaults()).csrf().disable().build();}
}

访问下 http://localhost:9091/test/hello 就会打印日志了。

在这里插入图片描述

三、动态配置日志级别

我们发现日志模块里面还有日志配置的菜单,这个其实比较有用,可以动态设置日志的打印级别。目前设置的INFO,所以info和error都答应了。如果把INFO改成ERROR
在这里插入图片描述我们再试下效果:
在这里插入图片描述看只打印了ERROR的日志,INFO的日志没打印。


http://www.ppmy.cn/news/837848.html

相关文章

MAC地址

MAC地址&#xff08;英语&#xff1a;Media Access Control Address&#xff09;&#xff0c;直译为媒体存取控制位址&#xff0c;也称为局域网地址&#xff08;LAN Address&#xff09;&#xff0c;MAC位址&#xff0c;以太网地址&#xff08;Ethernet Address&#xff09;或物…

ARP缓存表和MAC地址表

前文讲过arp缓存表和mac地址表&#xff0c;现在总结下它们的相同和不同 不同 定义 arp缓存表是主机用来缓存其他主机的ip地址和mac地址的映射关系的表mac地址表是交换机用来缓存连接在各端口的主机的源mac地址和端口号的映射关系的表 作用 arp缓存表是数据包在二层封装时需…

MAC地址表管理

原文出处&#xff1a;http://blog.chinaunix.net/uid-24836818-id-2562048.html Linux Bridge 基于 MAC 地址来转发包&#xff0c; MAC 地址表是 Linux Bridge 的核心数据结构&#xff0c;在 br_fdb.c 中定义了一组操作 MAC 地址表的接口函数。 MAC 地址表的数据结构定义在 br…

MAC地址表的维护

交换机在转发包的过程中&#xff0c;还需要对MAC地址表的内容进行维护&#xff0c;维护操作分为两种。 第一种是收到包时&#xff0c;将发送方MAC地址以及其输入端口的号码写入MAC地址表中。由于收到包的那个端口就连接着发送这个包的设备&#xff0c;所以只要将这个包的发送方…

MAC地址表+端口安全+MAC地址漂移

目录 一、MAC地址表的组成 二、端口安全&#xff08;Port Security&#xff09; 三、MAC地址漂移 1、配置接口mac地址学习优先级&#xff08;MAC地址表就不会被抢占覆盖了&#xff09; 2、配置不允许相同优先级接口mac地址漂移&#xff08;不要轻易配置&#xff09; 四、…

如何查看MAC地址

如何查看MAC地址 MAC地址 全球唯一 方法一 打开“网络和Internet”设置 选择更改适配器选项 选择已连接网络 打开详细信息 物理地址即为MAC地址 方法二 打开CMD黑窗口 输入 ipconfig /all 此处物理地址为MAC地址

MAC地址详介

什么是MAC地址&#xff1f; MAC位址(Media Access Control)用来定义网络设备的位置&#xff0c;Mac地址一般由制造商分配并烧录到网卡芯片中&#xff0c;因此每块网卡都有一个MAC地址。 MAC地址是一个6字节、也即48bit的数据。容量达到255255255255255*255274941996890625个地…

实验1: 交换机MAC地址表学习过程实验

目录 一&#xff0c;实验1&#xff1a; 交换机MAC地址表学习过程实验 【实验目的】 【实验环境】 【实验过程】 步骤一 建立拓扑 步骤二 配置终端系统 步骤三 查询交换机初始状态下MAC地址表 步骤四 使交换机接收到数据帧 【实验总结】 一&#xff0c;实验1&#xff1a; 交换机…