メインコンテンツへスキップ
バージョン: 3.5.2

📦 logger

コンソールメッセージを意味的にフォーマットするためのカプセル化されたロガー。

Docusaurusエコシステム内のパッケージの作成者は、統一されたログ形式を提供するためにこのパッケージを使用することが推奨されます。

API

デフォルトエクスポートとして単一のオブジェクト logger をエクスポートします。 logger には次のプロパティがあります。

  • 便利な色。
    • red
    • yellow
    • green
    • bold
    • dim
  • フォーマッタ。これらの関数はすべて、シグネチャ (msg: unknown) => string を持ちます。実装は保証されていないことに注意してください。セマンティクスのみに注意する必要があります。
    • path: ファイルパスをフォーマットします。
    • url: URLをフォーマットします。
    • name: 識別子をフォーマットします。
    • code: コードスニペットをフォーマットします。
    • subdue: テキストを抑制します。
    • num: 数値をフォーマットします。
  • interpolate 関数。これはテンプレートリテラルタグです。構文は以下にあります。
  • ロギング関数。すべてのロギング関数は、通常の関数(console.logファミリと同様ですが、1つのパラメータのみを受け入れます)またはテンプレートリテラルタグとして使用できます。
    • info: 情報を出力します。
    • warn: 注意を払う必要がある警告を出力します。
    • error: 重大な問題を示すエラー(必ずしもプログラムを停止させるものではありません)を出力します。
    • success: 成功メッセージを出力します。
  • report 関数。ReportingSeverity 値(ignorelogwarnthrow)を取り、重大度に応じてメッセージをレポートします。
error フォーマッタに関する注意点

error メッセージは、プログラムを停止させない場合でも、混乱を引き起こす可能性があることに注意してください。ユーザーがログを調べて [ERROR] を見つけた場合、ビルドが成功した場合でも、何か問題が発生していると想定します。控えめに使用してください。

Docusaurusは、エラーをスローする直前にメッセージを出力する場合、またはユーザーがonBrokenLinkなどのレポート重大度を"error"に設定した場合にのみ、logger.errorを使用します。

さらに、warnerrorは、より注意を引くために**メッセージ全体**を色付けします。エラーに関するヘルプテキストの大きなブロックを出力する場合は、logger.infoを使用する方が良いでしょう。

テンプレートリテラルタグの使用

テンプレートリテラルタグは、埋め込まれたテンプレートと式を評価します。 interpolate は新しい文字列を返し、他のロギング関数はそれを出力します。以下に一般的な使用法を示します。

import logger from '@docusaurus/logger';

logger.info`Hello name=${name}! You have number=${money} dollars. Here are the ${
items.length > 1 ? 'items' : 'item'
} on the shelf: ${items}
To buy anything, enter code=${'buy x'} where code=${'x'} is the item's name; to quit, press code=${'Ctrl + C'}.`;

埋め込み式の前には、オプションで [a-z]+= の形式のフラグ(いくつかの小文字、その後に等号、埋め込み式の直前)が付きます。式にフラグが付いていない場合は、そのまま出力されます。それ以外の場合は、いずれかのフォーマッタでフォーマットされます。

  • path=: path
  • url=: url
  • name=: name
  • code=: code
  • subdue=: subdue
  • number=: num

式が配列の場合、`\n- ${array.join('\n- ')}\n` でフォーマットされます(先頭に改行が自動的に追加されます)。各メンバーはそれ自体でフォーマットされ、箇条書きはフォーマットされません。したがって、上記のメッセージは次のように出力されます。

Some text output in the terminal, containing array, code, name, and number formatting