第四节 配置SpringBootAdmin日志管理

news2024/11/28 7:32:11

本来想用一节就写完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 {
    @Bean
    protected 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.coloradmin.cn/o/741985.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp App强制更新

需要使用DClound插件市场的一个插件挺好用的&#xff01;app升级、整包更新和热更新组件 支持vue3 支持打开安卓、苹果应用市场&#xff0c;wgt静默更新https://ext.dcloud.net.cn/plugin?id7286 开始贴代码 // /utils/method.js/*** 获取当前app最新版本* param number ver…

【JAVA】这几个JAVA学习网站你绝不能错过(教学课程篇)

个人主页&#xff1a;【&#x1f60a;许思王】 文章目录 前言HOW2J.CNw3cschool菜鸟教程慕课网开课吧黑马程序员B站 前言 JAVA很难学&#xff1f;学不会怎么办&#xff1f;找对学习网站&#xff0c;让你轻松解决困难。 HOW2J.CN HOW2J.CN是我自认为最好的JAVA学习网站&#x…

df -h 查看Used+Avail != Size

问题描述&#xff1a; 在测试过程中发现&#xff0c;该机器的根目录空间 41G 5.7G ! 50G&#xff0c;即 Used Avail ! Size 问题原因&#xff1a; 经过搜索&#xff0c;了解到这种情况可能是Linux系统默认的文件保留块导致的&#xff08;Linux系统默认保留5%的容量作为应急…

论文 | 一分钟快速找到自己研究领域的顶刊

1. 打开Web of Science https://www.webofscience.com/wos/alldb/basic-search 2. 点击右上角&#xff1a;产品&#xff0c;再选中&#xff1a;Journal Citation Reports 至于JCR是什么&#xff0c;请看下面的拓展部分 3. 单击顶部的 Categories Categories 是分类、类别的…

LaTeX 速查手册

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

MachineLearningWu_11_NeuralNetworkLayer

x.1 Neural Network layer design 我们接下来来讲解一下深度学习中&#xff0c;神经网络是如何架构的。对于一个具有两层的的神经网络&#xff0c;我们将输入层置为layer0&#xff0c;将第一层隐藏层置为layer1&#xff0c;将 w 2 [ 1 ] w_2^{[1]} w2[1]​标记为第一层中&…

nginx基本使用

这是一份完整的nginx配置文件&#xff1a; #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024; }http {include mi…

23款奔驰GLS450更换迈巴赫GLS600外观套件,尽显奢华

在外观上不要过分的张扬&#xff0c;低调的同时还要彰显强大的气场&#xff0c;换装迈巴赫专属套件&#xff0c;迈巴赫专属踏板&#xff0c;还有迈巴赫的醒目M标志&#xff0c;车身轮廓和线条方面&#xff0c;奔驰GLS450和迈巴赫GLS600尺寸及其契合&#xff0c;只需通过增加一些…

LayUi基础入门【附有案例从0到1详解】

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于LayUi的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.LayUi的创作背景 二.LayUi是什么 三.…

请收藏!2023年全栈开发人员实战进阶指南终极版

全栈工程师在过去十年中越来越受到欢迎&#xff0c;而且在国内的就业环境下&#xff0c;它是更适合从技术转管理的职位。 但究竟什么是全栈工程师&#xff1f;他需要哪些技术能力&#xff1f;如何才能成为一名优秀的全栈工程师&#xff1f;今天这篇文章就给大家全方位分享一下…

ES6基础语法

目录 解构 数组解构 对象解构 基本数据解构 对象 对象简写 箭头函数 扩展运算符 函数参数解构 对象API拓展 Object.is() Object.assign() Object.getPrototypeOf() Object.setPrototypeOf() Object.keys() Object.values() Object.entries() Object.fromEntries()…

Java --- 云尚优选项目

目录 一、项目工程搭建 二、配置项目相关maven依赖 2.1、cjc.ssyx父工程依赖 2.2、common模块pom依赖 2.3、common-util模块pom依赖 2.4、service-util模块pom依赖 2.5、model模块pom依赖 2.6、service模块pom依赖 三、编写相关工具类 3.1、mybatis-plus分页查询配置…

SpringMVC学习笔记一

目录 一、SpringMVC概述二、入门案例1.导入相关依赖2.配置web.xml3.配置SpringMVC4.创建测试用的html页面5.编写Controller 三、请求映射规则RequestMapping1.RequestMapping注解标识的位置2.RequestMapping注解value属性3.RequestMapping注解的method属性4.RequestMapping注解…

Vector - CANoe - 测试报告配置

目录 一、测试报告格式设置 二、测试报告格式转换 1、Test Report Viewer format 转换为 PDF 格式

【ELK 企业级日志分析系统】

目录 一、ELK 概述1、ELK 简介1、可以添加的其它组件&#xff1a;2、filebeat 结合 logstash 带来好处&#xff1a; 2、为什么要使用 ELK3、完整日志系统基本特征4、ELK 的工作原理 二、实验操作1、ELK Elasticsearch 集群部署&#xff08;在Node1、Node2节点上操作&#xff09…

【SpringBoot_Error】关于SpringBoot项目中经常出现yml/xml识别不到的问题

Problems 关于关于SpringBoot项目中经常出现yml/xml识别不到的问题 Solution 在pom.xml文件的<build></build>标签中添加如下代码&#xff1a; > <build><resources><!--检测mapperxml&#xff0c;本项目数据访问层的SQL xml文件放在Java包…

雷达人体存在感应器成品,雷达探测感知联动,空间智能化控制应用

随着科技的日新月异&#xff0c;人机交互的方式也不断推陈出新。在科技的不断发展与创新的驱动下&#xff0c;人们的生活正逐渐变得更加智能化和便捷化。 智能雷达人体存在感应器&#xff0c;凭借其呼吸探测技术&#xff0c;实现真正的人体存在探测&#xff0c;将智慧酒店、办…

C# 位1的个数

191 位1的个数 编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中数字位数为 ‘1’ 的个数&#xff08;也被称为汉明重量&#xff09;。 提示&#xff1a; 请注意&#xff0c;在某些语言&#xff08;…

浅谈虚拟DOM、Diff算法、Key机制

您好&#xff0c;如果喜欢我的文章&#xff0c;可以关注我的公众号「量子前端」&#xff0c;将不定期关注推送前端好文~ 虚拟DOM 我们都知道虚拟DOM带来的好处&#xff0c;多次更新数据层的数据&#xff0c;最后异步处理只进行一次页面重绘&#xff0c;而这中间的奥秘就是虚拟…

论文 | 一分钟快速找到自己研究领域的核心期刊

进入知网官网 https://www.cnki.net/ 点击搜索框右边的&#xff1a;出版物检索 鼠标放到顶部的 出版来源导航 旁边的倒三角上 选择期刊导航&#xff1a; 点击核心期刊导航 找到自己感兴趣的领域 点进去就可以看到该期刊中发表的论文&#xff1a;