📦 logger
コンソールメッセージを意味的にフォーマットするためのカプセル化されたロガー。
Docusaurusエコシステム内のパッケージの作成者は、統一されたログ形式を提供するためにこのパッケージを使用することが推奨されます。
API
デフォルトエクスポートとして単一のオブジェクト logger をエクスポートします。 logger には次のプロパティがあります。
- 便利な色。
redyellowgreenbolddim
- フォーマッタ。これらの関数はすべて、シグネチャ
(msg: unknown) => stringを持ちます。実装は保証されていないことに注意してください。セマンティクスのみに注意する必要があります。path: ファイルパスをフォーマットします。url: URLをフォーマットします。name: 識別子をフォーマットします。code: コードスニペットをフォーマットします。subdue: テキストを抑制します。num: 数値をフォーマットします。
interpolate関数。これはテンプレートリテラルタグです。構文は以下にあります。- ロギング関数。すべてのロギング関数は、通常の関数(
console.logファミリと同様ですが、1つのパラメータのみを受け入れます)またはテンプレートリテラルタグとして使用できます。info: 情報を出力します。warn: 注意を払う必要がある警告を出力します。error: 重大な問題を示すエラー(必ずしもプログラムを停止させるものではありません)を出力します。success: 成功メッセージを出力します。
report関数。ReportingSeverity値(ignore、log、warn、throw)を取り、重大度に応じてメッセージをレポートします。
error フォーマッタに関する注意点error メッセージは、プログラムを停止させない場合でも、混乱を引き起こす可能性があることに注意してください。ユーザーがログを調べて [ERROR] を見つけた場合、ビルドが成功した場合でも、何か問題が発生していると想定します。控えめに使用してください。
Docusaurusは、エラーをスローする直前にメッセージを出力する場合、またはユーザーがonBrokenLinkなどのレポート重大度を"error"に設定した場合にのみ、logger.errorを使用します。
さらに、warnとerrorは、より注意を引くために**メッセージ全体**を色付けします。エラーに関するヘルプテキストの大きなブロックを出力する場合は、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=:pathurl=:urlname=:namecode=:codesubdue=:subduenumber=:num
式が配列の場合、`\n- ${array.join('\n- ')}\n` でフォーマットされます(先頭に改行が自動的に追加されます)。各メンバーはそれ自体でフォーマットされ、箇条書きはフォーマットされません。したがって、上記のメッセージは次のように出力されます。
