この記事では、以下の内容について説明します。
- いつnode.jsにログインしますか?
- ログ記録はどこで行われますか?
- Node.js でログを実装するにはどうすればよいですか?
- 「console.log()」メソッドを使用してnode.jsにログインを実装します。
- 「console.warn()」メソッドを使用してnode.jsにログインを実装します。
- 「console.error()」メソッドを使用してnode.jsにログインを実装します。
- 「console.table()」メソッドを使用してnode.jsにログインを実装します。
- 「デバッグモジュール」を使用してnode.jsにログインを実装します。
- 「Winstonパッケージ」を使用してnode.jsにログインを実装します。
いつnode.jsにログインしますか?
以下は、node.js の一般的なログ レベルです。
- 情報: 効率化されたコード実行を確認するタスクまたは出力。
- 警告: 障害を回避するために考慮する必要があるイベント。
- エラー: コード実行の失敗を引き起こすイベント。
- デバッグ: このレベルは主に開発者によって使用されます。
ログ記録はどこで行われますか?
ログ イベントはキューに入れられ、複数のリスナーがキューをリッスンして、必要なログに書き込むことができます。ログをどこに記録するかを最終的に決定する前に、対象の方法論が複数のログ メッセージに対応できることを理解しておく必要があります。一般的なログの場所の一部を次に示します。
- 標準出力
- 標準エラー
- コンソール
基本的な「」 console.log() ' そして ' コンソール.info() ”メソッドのログは” 標準出力 ”。しかし ' console.warn() ' そして ' コンソール.エラー() ”メソッドのログは” 標準エラー ”。これらのメソッドは、コンソールに出力を表示します。フロントエンドでは、これはプログラマのツール コンソールになります。
Node.js でログを実装するにはどうすればよいですか?
さまざまな状況におけるロギングの必要性を分析することは、対応するロギング アプローチを実装するために重要です。 node.js でのロギングは、以下のアプローチで実装できます。
- 「 console.log() ' 方法。
- 「 console.warn() ' 方法。
- 「 コンソール.エラー() ' 方法。
- 「 コンソール.テーブル() ' 方法。
- デバッグモジュール。
- ウィンストンのパッケージ。
アプローチ 1: 「console.log()」メソッドを使用してnode.jsにログインを実装する
” console.log() 」メソッドはコンソールに出力を表示し、コードの機能を随時テストするのに役立ちます。
構文
コンソール。 ログ ( 混乱 )
この構文では、「 混乱 ” は、コンソールに書き込まれるメッセージを指します。
ここで、提供されたメッセージをコンソールに記録する以下のコード ブロックに進みます。
コンソール。 ログ ( 「これが Linuxhint です!」 ) ;コンソール。 ログ ( 「これはNode.jsです!」 ) ;
出力
この結果から、記載されたメッセージがコンソールに適切に表示されていることが示唆されます。
アプローチ 2: 「console.warn()」メソッドを使用してnode.jsにログインを実装する
” console.warn() 」メソッドは、コンソールに警告メッセージを表示します。
構文
コンソール。 警告する ( 混乱 )指定された構文では、「 混乱 」はコンソールに表示されるメッセージ(カスタムも可)を示します。
次に、「」を使用してカスタム警告メッセージを表示する次のコード行に進みます。 console.warn() ' 方法:
コンソール。 警告する ( 「これは警告です!」 ) ;出力
ご覧のとおり、指定されたカスタム警告が適切に表示されます。
アプローチ 3: 「console.error()」メソッドを使用してnode.jsにログインを実装する
このメソッドは、エラー メッセージをコンソールに書き込みます。
構文
コンソール。 エラー ( [ データ 】 [ 、 ... 引数 】 )この構文では次のようになります。
- 「 データ 」はプライマリメッセージを指します。
- 「 引数 ”は値を表します。
戻り値
このメソッドはエラー メッセージを取得します。
条件が満たされない場合にエラー メッセージをログに記録する、次のコード スニペットの概要:
バツ = 150 ;もし ( バツ < 100 ) {
コンソール。 ログ ( '行ってもいい' ) ;
}
それ以外 {
コンソール。 エラー ( 「不適切な番号」 ) ;
}
このコードによると:
- 条件を解析する整数を初期化します。
- その後、「」を適用します。 もし 」ステートメントを使用して、初期化された整数が「100」未満の場合に、指定されたメッセージが表示されるようにします。
- それ以外の場合は、「 それ以外 ” ステートメントは、” 内のエラー メッセージを実行します。 コンソール.エラー() ' 方法。
出力
この出力は、条件が満たされていない場合、それに応じてカスタム エラー メッセージがコンソールに表示されることを確認します。
アプローチ 4: 「console.table()」メソッドを使用してnode.jsにログインを実装する
このメソッドはテーブルを作成し、コンソールに表示します。
構文
コンソール。 テーブル ( td、tc )ここ、 ' た ”はテーブルデータを表し、” TC 」はテーブルの列の配列を指します。
ここで、ビデオ データ型の割り当て値に別のインデックスを 2 回割り当てることでテーブルを作成する以下のコード ステートメントを実行します。
コンソール。 テーブル ( [ { バツ : 10 、 : 「ハリー」 } 、 { バツ : 15 、 : 'と' } 】 ) ;出力
アプローチ 5: 「デバッグモジュール」を使用してnode.jsにログインを実装する
このモジュールは、バックエンドがインターネット要求を受信したときに、Web ミドルウェア (Express、Koa など) のステータスに関する追加情報をログに記録するために使用できます。ミドルウェアはリクエスト パイプラインに組み込まれます。
ロギングミドルウェアを設定する方法は次のとおりです。
例 1: アプリケーションからのロギングミドルウェアのセットアップ
” app.use() ”関数は、指定されたパスに対象のミドルウェア関数をマウントします。
構文
アプリ。 使用 ( pt、cb )上記の構文では次のようになります。
- 「 ポイント ”はミドルウェア機能を呼び出すパスを指します。
- 「 CB 」がミドルウェア機能に相当します。
以下は、アプリケーションを介してロギング ミドルウェアをセットアップするコードのデモと説明した方法です。
定数 アプリ = 急行 ( )定数 ログミドルウェア = 必要とする ( 「my-logging-middleware」 )
アプリ。 使用 ( ログミドルウェア )
このコードでは、Express アプリケーションを作成し、「 私のロギングミドルウェア 」をクリックして、ロギングミドルウェアの操作を開始します。最後に「」を適用します。 app.use() 」関数を使用して、指定されたパスにターゲットのミドルウェア機能をマウントします。
例 2: ルーター経由でアプリケーションからロギングミドルウェアをセットアップする
” router.use() 」機能は、ターゲットルーターを経由するルートのミドルウェアをマウントします。
構文
ルーター。 使用 ( のために、機能する )この構文では次のようになります。
- 「 ポイント 」はミドルウェアのパスを指します。
- 「 機能 」はコールバックとして渡される関数に対応します。
以下の例では、ルーター オブジェクトと「 router.use() ' 関数:
定数 ルーター = 急行。 ルーター ( )定数 rtLoggingミドルウェア = 必要とする ( 「my-route-logging-middleware」 )
ルーター。 使用 ( rtLoggingミドルウェア )
このコードでは:
- ” Express.Router() 」関数は新しいルーターオブジェクトを作成します。
- その後、「」を含めます 私のルートロギングミドルウェア 」を利用し、同様に「 router.use() 」機能を使用して、ターゲットルーターが提供するルートのミドルウェアをマウントします。
アプローチ 6: 「Winstonパッケージ」を使用してnode.jsにログインを実装する
この特定のパッケージには、ストレージ オプション、複数のログ レベル、クエリ、プロファイラーが含まれています。以下は、このアプローチでロギングを実装するコードのデモです。
定数 バツ = 急行 ( )定数 含む = 必要とする ( 「ウィンストン」 )
定数 コンソールトランスポート = 新しい 含む。 トランスポート 。 コンソール ( )
定数 選択します = {
トランスポート : [ コンソールトランスポート 】
}
定数 ロガー = 新しい 含む。 ロガーの作成 ( 選択します )
関数表示リクエスト ( 要求、応答、次 ) {
ロガー。 情報 ( 必須 URL )
次 ( )
}
バツ。 使用 ( 表示リクエスト )
機能表示エラー ( エラー、要求、応答、次 ) {
ロガー。 エラー ( エラー )
次 ( )
}
バツ。 使用 ( 表示エラー )
このコードでは:
- フィルタリングを使用して複数のトランスポートを設定したり、カスタム フォーマッタを設定したりできます。
- また、複数のロガー インスタンスが異なる関数で指定されています。つまり、「 ロガー.info() ' そして ' ロガー.エラー() ”。
- これらのロガーは、それぞれ情報とエラー メッセージを表示します。
- このコードでは、要求された URL のみがログに記録されます。
以下に指定されたパラメータはロガーによって取得されます。
名前 | デフォルト | 説明 |
フォーマット | ウィンストン.フォーマット.json | 情報メッセージのフォーマットを設定します |
静けさ | 間違い | true の場合、すべてのログが一時停止されます。 |
exitOnError | 真実 | false の場合、対処された例外によって process.exit が発生しません。 |
レベル | Winston.config.npm.levels | レベルはログの優先順位を指します。 |
結論
Node.js へのログインは、「」経由で実装できます。 console.log() ” メソッド、” console.warn() ” メソッド、” コンソール.エラー() ” メソッド、” コンソール.テーブル() ” メソッド、” デバッグモジュール 」、または「 ウィンストンパッケージ ”。コンソール メソッドには、情報とエラー メッセージが表示されます。デバッグ モジュールは Web ミドルウェアのステータスに関する追加情報をログに記録し、Winston パッケージにはストレージ オプションとさまざまなログ レベルが含まれています。