Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

Node.jsにログインする


ロギングは、Node.jsで作成されているか、他のプログラミング言語で作成されているかに関係なく、どのアプリケーションでも非常に重要な部分です。ロギングは、リアルタイムのエラーや例外とともに、アプリケーションの奇妙な動作を検出するのに役立ちます。アプリケーションに論理ログを確実に配置する必要があります。これらのログは、ユーザーが間違いを特定し、緊急に解決するのに役立ちます。

現在ユーザーに存在する5つの異なるログレベルがあります。これらのログレベルは、さまざまな種類のログを定義するために使用され、ユーザーがさまざまなシナリオを識別するのに役立ちます。これらのログを最大限に活用するには、ログレベルを慎重に構成する必要があります-

  • エラー

  • 警告

  • 情報

  • 詳細

  • デバッグ

ミドルウェア

このミドルウェアをリクエストパイプラインに配置して、デバッグモジュールの機能を直接使用してログを印刷できるようにすることができます。デバッグモジュールの最大の利点は、ほとんどすべてのモジュールがログの印刷にデバッグを使用することです。デバッグモジュールを使用して、ログとエラーを印刷できます。

このミドルウェアは、主にミドルウェアパイプラインとして機能するために使用されます。このパイプラインでログを渡すことができ、ログファイルに出力されます。要求と応答も、ロギングの目的でこのミドルウェアを介して渡されます。 Expressアプリでは非常に有益です。ミドルウェアのセットアップは簡単で、使用されている任意のフレームワークで実行できます。

ミドルウェア用のファイルの構成

アプリケーション

const app = express()
const logMiddleware = require('my-logging-middleware')
app.use(logMiddleware)

ルーター

const router = express.Router()
const routeLoggingMiddleware = require('my-route-logging-middleware')
router.use(routeLoggingMiddleware)

エラー

const app = express();
const errorLoggingMiddleware = require('my-error-logging-middleware')
app.use(errorLoggingMiddleware)

ウィンストンパッケージ

ロギングの目的でwinstonパッケージを使用することもできます。また、さまざまなログレベル、クエリ、およびプロファイラーも提供します。

アプリケーション

const app = express()
const winstonPackage = require('winston')
const consoleTransport = new winstonPackage.transports.Console()
const myWinstonOptions = {
   transports: [consoleTransport]
}
const logger = new winstonPackage.createLogger(myWinstonOptions)

function logRequest(req, res, next) {
   logger.info(req.url)
   next()
}
app.use(logRequest)

function logError(err, req, res, next) {
   logger.error(err)
   next()
}
app.use(logError)

  1. JavaScriptでのConstとLet。

    Constとletは、ブロックスコープの変数を宣言するためにES2015で導入されました。 letを使用して宣言された変数は再割り当てできますが、constを使用して宣言された場合は再割り当てできません。 以下は、JavaScriptでletとconstを示すコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="wi

  2. Node.jsにExpress-rate-limitを統合する

    WebサイトがDOSおよびDDOS攻撃を受けないようにするために、レート制限は日々重要になっています。レート制限は、システムがあらゆる種類の偽の要求やその他のブルートフォース攻撃から保護します。レート制限は、IPが要求を行うことができる回数を制限します。 expressrate-limitは、ユーザーからのリクエスト数を制限するためのnpmパッケージです。 レート制限モジュールのインストール 以下のコマンドを実行して、エクスプレスレート制限モジュールをアプリケーションにインストールします。 npm install --save express-rate-limit 例 名前がrateLim