Springboot は Magic-API を統合します

目次

1 はじめに

2. springboot はマジック 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 レベルで制御されます。通常は問題ありませんが、今日は非常に長いメッセージの送信があり、ログは追跡のためにこのメッセージをコンソールに出力するだけです。ただし、ログではキャッシュと並列書き込みが有効になっていないため、IO がブロックされ、プログラムが正常に応答できなくなります。

通常、この問題の解決策は次のとおりです。

  1. プログラムを直接再起動する
  2. Arths を使用してログ レベルを動的に調整する

Arths はオンライン トラブルシューティングに非常に適した優れたツールで、このシナリオでは、サーバーを再起動せずにログ レベルを直接かつ動的に調整できます。そこで今日は、ログレベルを動的に調整できる別のツール、magic-api を紹介します。マジック API

2. springboot はマジック API を統合します

2.1、Maven 依存関係を追加

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

他のスプリングブート関連の依存関係については、詳細には説明しません。

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、プログラムを開始し、インターフェイスにアクセスします

コンソールに次の情報が表示されたら、正常に起動したことを意味します。

アクセスインターフェイス: http://localhost:8083/test/index。ログ出力を確認できます。

デフォルトのログ レベルは info であるため、info レベル以上の出力が表示されます。

2.5、magic-api脚本

Magic-API コンソールを開きます: http://192.168.0.109:8083/magic/web/index.html

左側のメニュー バーで [インターフェイス] を選択し、空白スペースを右クリックしてグループを作成します。

 

グループを作成した後、インターフェイスを作成します。

 

作成後、戻り値の「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 実装クラスが正しく見つかる必要があります。それ以外の場合は効果がありません。

入力後、右上隅の実行ボタンをクリックします。実行後、テスト インターフェイス アドレスに再度アクセスできます。

ログ レベルがデバッグ用に調整されており、プログラムを再起動する必要がないことがわかります。

3. Magic-API のその他の構文

Magic-API は実際には JVM のスクリプト言語を通じて挿入され、他の豊富な機能を提供します。ここでは詳しくは説明しませんが、ゆっくりと体験する必要があります。他の機能の構文については、次のドキュメントを参照してください。

はじめに | マジック API

ここではレンガを投げて翡翠を始めるだけです。

4. 注意すべき事項

magic-api を使用する際の注意点は、このような便利な機能があるため、オンライン上でむやみにこのプラグインを使用すると、人為的な攻撃を受けやすくなります。したがって、外部ネットワークへのアクセスは可能な限り避けてください。私たちの解決策は、ng プロキシを外部に直接公開せず、内部の研究開発のトラブルシューティングにのみ使用することです。

コードに統合する必要があるこの使用方法と比較すると、arth には自然な利点があるかもしれませんが、magic-api にも独自の長所があるため、両方のアプローチを使用して相互に学習することができます。

 

おすすめ

転載: blog.csdn.net/p793049488/article/details/131152515