📦 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
値(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=
:path
url=
:url
name=
:name
code=
:code
subdue=
:subdue
number=
:num
式が配列の場合、`\n- ${array.join('\n- ')}\n`
でフォーマットされます(先頭に改行が自動的に追加されます)。各メンバーはそれ自体でフォーマットされ、箇条書きはフォーマットされません。したがって、上記のメッセージは次のように出力されます。