このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください
ロガー
NocoBase のロギング機能は、Winston をベースに構築されています。デフォルトでは、NocoBase はログを API リクエストログ、システム実行ログ、SQL 実行ログの3種類に分類します。このうち、API リクエストログと SQL 実行ログはアプリケーション内部で出力されますが、プラグイン開発者は通常、プラグイン関連のシステム実行ロ グのみを出力すれば十分です。
このドキュメントでは、プラグイン開発時にログを作成し、出力する方法について説明します。
デフォルトのログ出力方法
NocoBase は、システム実行ログを出力するためのメソッドを提供しています。これらのログは、指定されたフィールドに従って整形され、指定されたファイルに出力されます。
上記のすべてのメソッドは、以下の使い方に従います。
最初の引数はログメッセージ、2番目の引数はオプションのメタデータオブジェクトで、任意のキーと値のペアを指定できます。このオブジェクト内で、module、submodule、method は個別のフィールドとして抽出され、残りのフィールドは meta フィールドに格納されます。
他のファイルへの出力
システムのデフォルト出力方法はそのまま利用しつつ、デフォルトのファイルには出力したくない場合、createSystemLogger を使ってカスタムのシステムロガーインスタンスを作成できます。
カスタムロガー
システムが提供する出力方法ではなく、Winston のネイティブなメソッドを使いたい場合は、以下の方法でログを作成できます。
createLogger
options は、元の winston.LoggerOptions を拡張したものです。
transports-'console' | 'file' | 'dailyRotateFile'のいずれかを使って、プリセットの出力方式を適用できます。format-'logfmt' | 'json' | 'delimiter'のいずれかを使って、プリセットの出力フォーマットを適用できます。
app.createLogger
複数のアプリケーションを使用するシナリオでは、カスタムの出力ディレクトリやファイルを設定し、現在のアプリケーション名を持つディレクトリに出力したい場合があります。
plugin.createLogger
使用するシナリオと使い方は app.createLogger と同じです。

