01. Springboot集成magic-api

这篇具有很好参考价值的文章主要介绍了01. Springboot集成magic-api。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、前言

2、springboot集成magic-api

2.1、添加maven依赖

2.2、application.yml配置

2.3、编写测试接口

2.4、启动程序,访问接口

2.5、magic-api脚本

3、magic-api其他语法

4、注意事项


1、前言

今天项目中遇到一个问题,springboot后端项目经常使用log4j输出日志,同时会配置相应日志级别。但是由于开发过程中不经意间都会log.info("xxxx")来打印日志,而线上级别也会控制在info级别。正常不会有什么问题,但是今天有个超长报文传输,恰好日志在控制台输出了这段报文用作跟踪。而log并没有开启缓存以及并行写入,导致IO阻塞,程序无法正常响应。

通常情况下,这种问题的解决措施为:

  1. 直接重启程序
  2. 使用arths动态调整日志级别

arths是个好工具,很适合用于线上排障,应对该场景也可以直接动态调整log级别,而不需要重启服务器。那么今天再介绍另一个可以动态调整日志级别的工具,magic-api。magic-api

magic-api,Spring Boot,spring boot,java,spring

2、springboot集成magic-api

2.1、添加maven依赖

<dependency>    
    <groupId>org.ssssssss</groupId>    
    <artifactId>magic-api-spring-boot-starter</artifactId>    
    <version>2.1.0</version>
</dependency>

其他springboot的相关依赖就不赘述了。

2.2、application.yml配置

magic-api:
  web: /magic/web    # magic-api控制台访问地址
  resource:          # magic-api数据存储信息配置
    location: workspace/magic/data      # location表示使用本地文件存储,存储路径为工作目录workspace/magic/data下
    datasource:        # datasource表示数据源存储,这里指定使用的数据源, datasource和location选择一个
    

2.3、编写测试接口

@Slf4j
@RestController
@RequestMapping("test")
public class TestController {

    @GetMapping("index")
    public String index(){
        //  trace 级别日志        
        LOGGER.trace("-------trace------");

        //  debug 级别日志        
        LOGGER.debug("-------debug------");

        //  info 级别日志        
        LOGGER.info("-------info------");

        //  warn 级别日志        
        LOGGER.warn("-------warn------");

        //  error 级别日志        
        LOGGER.error("-------error------");
        return "ok";
    }

}

2.4、启动程序,访问接口

当看到控制台输出如下信息,就是已经启动成功了。

magic-api,Spring Boot,spring boot,java,spring

访问接口:http://localhost:8083/test/index。可以看到日志打印:

magic-api,Spring Boot,spring boot,java,spring

由于默认日志级别是info,所以看到info以上级别的输出。

2.5、magic-api脚本

打开magic-api控制台:http://192.168.0.109:8083/magic/web/index.html

magic-api,Spring Boot,spring boot,java,spring

左侧菜单栏选择接口,接着空白处右键创建分组:

magic-api,Spring Boot,spring boot,java,spring

 magic-api,Spring Boot,spring boot,java,spring

创建完分组后,创建接口:

magic-api,Spring Boot,spring boot,java,spring

创建后,在return "Hello magic-api"编辑框内使用如下脚本:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.LoggerContext;

var levelName = "debug";
var packageName = "com.xxx";

LoggerFactory.getILoggerFactory().getLogger(packageName).setLevel(Level.toLevel(levelName));

return "OK";

由于springboot中使用了lombok,使用了默认的logback,所以这里的impor实现类需要找对。不然没有效果。

magic-api,Spring Boot,spring boot,java,spring

输入后,点击右上角的运行按钮。运行完可以再次访问测试接口地址。

可以看到日志级别调整为debug,而程序不用重启。

magic-api,Spring Boot,spring boot,java,spring

3、magic-api其他语法

magic-api其实是通过JVM的script语言注入进去,提供了其他丰富的功能。这里不赘述,也需要慢慢使用体会。其他的特性语法可以参考文档:

简介 | magic-api

这里只是抛砖引玉而已。

magic-api,Spring Boot,spring boot,java,spring

4、注意事项

使用magic-api的时候需要注意,正因为如此方便的功能和特性,如果贸然线上使用该插件,很容易导致被人而已攻击注入。所以尽可能避免外网访问,我们的处理措施是ng代理上直接不对外暴露,仅限于内部研发排障使用。

相比这种需要集成在代码中的使用方式,arths可能具有天然的优势,但是magic-api也有其特长,可以双管齐下,取长补短吧。文章来源地址https://www.toymoban.com/news/detail-721479.html

到了这里,关于01. Springboot集成magic-api的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 初次 使用 magic-api 出现的问题

    根据官网配置即可: 快速开始 | magic-api 当时创建 springboot 选择的版本是 2.6.4 启动就报这错了,让后 将spring boot版本改为 2.4.5 就可以正常 访问了 在 yaml 中 连接数据url中设置编码格式 url: jdbc:mysql://localhost/magic?allowMultiQueries=trueuseUnicode=truecharacterEncoding=UTF-8 magic-api:   security

    2024年02月05日
    浏览(29)
  • SpringBoot 如何使用 TestRestTemplate 进行 RESTful API 集成测试

    在使用 SpringBoot 开发 RESTful API 的过程中,我们需要进行集成测试,以确保 API 的正确性和可用性。而 TestRestTemplate 是 Spring Framework 提供的一个工具类,可以用来进行 RESTful API 的集成测试。在本文中,我们将介绍如何使用 TestRestTemplate 进行 RESTful API 集成测试。 TestRestTemplate 是

    2024年02月13日
    浏览(59)
  • Spring Cloud Gateway集成SpringDoc,集中管理微服务API

    Spring Cloud微服务集成SpringDoc,在Spring Cloud Gateway中统一管理微服务的API,微服务上下线时自动刷新SwaggerUi中的group组。 框架 版本 Spring Boot 3.1.5 Spring Cloud 2022.0.4 Spring Cloud Alibaba 2022.0.0.0 Spring Doc 2.2.0 Nacos Server 2.2.3 公共模块里的配置是之前文章中提到的内容,加了一个webmvc和we

    2024年04月28日
    浏览(27)
  • 关于SpringBoot集成ES Scroll API(滚动查询)的实践

    那是年初在某个交付项目,从用户侧获知了一个elastic search作为分布式数据库的一个瓶颈,那就是单次查询量超过了ES的默认单次查询上限10000。 在大部分业务下,为了执行ES的数据查询,开发者往往都直接使用了query某个条件获取数据,这些条件对应的数据大多都不会超过1

    2024年01月23日
    浏览(27)
  • 使用magic-api ,让你的开发效率蹭蹭提升

    一个基于Java的接口快速开发框架,通过magic-api提供的UI界面完成编写接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发 官网:https://ssssssss.org 示例:ssssssss-team/magic-api-example demo:https://magic-api.ssssssss.org 源码:magic-api: magic-api 是一个基于

    2024年02月10日
    浏览(44)
  • Spring Boot 3.x- RESTful API集成SpringDoc&Swagger-UI

    系列文章:Spring Boot 3.x 系列教程 springdoc-openapi 帮助使用Spring Boot项目自动化API文档的生成。 springdoc-openapi 的工作原理是在运行时检查应用程序,根据Spring配置、类结构和各种注释推断 API 语义。 自动生成 JSON/YAML 和 HTML 格式的 API 文档。这个文档可以通过使用 swagger-api 注解来

    2024年01月25日
    浏览(38)
  • SpringBoot 如何使用 Spring Test 进行集成测试

    在开发过程中,单元测试是不可或缺的,它可以帮助我们及时发现代码的问题并进行修复,从而提高代码的质量和可维护性。但是,单元测试只能测试单个方法或类的功能,无法测试多个模块之间的交互和整个应用程序的功能。因此,为了确保应用程序的正确性和健壮性,我

    2024年02月10日
    浏览(34)
  • Spring Cloud Gateway集成聚合型Spring Boot API发布组件knife4j,增强Swagger

    大家都知道,在前后端分离开发的时代,前后端接口对接是一项必不可少的工作。 可是, 作 为后端开发,怎么和前端更好的配合,才能让自己不心累、脑累 ,直接扔给前端一个后端开放api接口文档或者页面,让前端不用看着难受,也不用前端老问你,来愉快的合作呢? 原

    2024年04月22日
    浏览(25)
  • SpringBoot集成Elasticsearch8.x(6)|(新版本Java API Client使用)

    章节 章节 第一章链接: SpringBoot集成Elasticsearch7.x(1)|(增删改查功能实现) 第二章链接: SpringBoot集成Elasticsearch7.x(2)|(复杂查询) 第三章链接: SpringBoot集成Elasticsearch7.x(3)|(aggregations之指标聚合查询) 第四章链接: SpringBoot集成Elasticsearch7.x(4)|(aggregations之分桶聚合

    2024年02月08日
    浏览(37)
  • spring boot集成Elasticsearch-SpringBoot(25)

      搜索引擎(search engine )通常意义上是指:根据特定策略,运用特定的爬虫程序从互联网上搜集信息,然后对信息进行处理后,为用户提供检索服务,将检索到的相关信息展示给用户的系统。   而我们讲解的是捜索的索引和检索,不涉及爬虫程序的内容爬取。大部分公司

    2023年04月09日
    浏览(94)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包