より良いjsは、マイクロフロントエンド、ブラウザ、ノードのログ


公式文書はここにあります.
https://adzejs.com
おい、皆、最近、Azeのバージョン1.1をリリースしました、複数の環境でログを扱うことの多くの痛みポイントを解決して、マイクロフロントエンドのようなモジュラーシステムでログを記録する図書館.
あなたはすでにログを支援するためにそこに他の良いJSライブラリの数があることに気づいているかもしれません.ADZEの焦点は、便利でクリーンなAPIを提供し、ファーストクラスのタイプスクリプトのサポートを提供し、あなたがそれらを扱うの特定の方法にあなたのハト穴ではなく、あなたのログのコマンドを取るように権限を与えることです.
ADEEが提供する機能の一覧です.
  • ファーストクラスTypeScriptサポート
  • ブラウザとノード
  • のマルチ環境サポート
  • は全体の標準API
  • を包んで、広げます
  • 流暢な、許容できるAPI
  • ログデータをキャプチャするための
  • ログリスナー
  • ログ注釈名前空間、ラベル、およびその他のメタデータ
  • 魅力的なスタイリング(絵文字の含まれて、主要なブラウザー全体に一貫している)
  • はすべて設定可能
  • です
  • は完全にカスタムログレベル
  • を可能にします
  • ログをリコールし、設定をオーバーライドするためのグローバルログストア
    マッピングされた診断文脈
  • のための
  • のサポート
  • 便利なユニットテスト環境制御
  • 高度なログフィルタ
  • とはるか...

  • ADZEを提供する新機能を超えて、それもコンソール全体のWeb標準をラップします.
    例:
    // ----- setup.js ----- //
    import { adze, createShed } from 'adze';
    
    // Adze can be used without any configuration.
    adze().log('Hello World!');
    
    // But you'll likely want to set it up like this...
    
    /* A shed is a global log store used for listeners and caching 
       as well as configuration overrides. */
    const shed = createShed();
    
    /* Let's create a log listener to transport our log data
       to a destination. We'll listen to all log levels. */
    shed.addListener('*', (data, render) => {
      /* If a log does not render then we will ignore transporting 
         it. */
      if (render) {
        // Do transport logic here.
      }
    });
    
    // Let's create an Adze configuration (or import it from an env file).
    const cfg = {
      logLevel: 1,
    };
    
    // Now we'll create a new factory using seal
    export const log = adze(cfg).label('foo').count.seal();
    
    // ----- elsewhere.js ----- //
    import { log } from '~/setup.js';
    
    // And now we can create new logs using our new factory
    log().error('An error occurred! Oh no!');
    log().error('Another error occurred! Quick! Help!');
    log().log("I won't display because my log level is too high.");