2017-12-30 36 views
1

私はKoaJSを使用しているNodeJSアプリケーションで作業しています。デフォルトでは、登録時にユーザーのパスワードを含むSTDOUTログにすべての要求データが表示されます。私は過去の特定の属性を除外するオプションを持つ明示ミドルウェアを使用し、Koaでこれを行うための良いオプションが何であるか疑問に思っています。Koaアプリケーションのログファイルからパスワードをフィルタリングする最良の方法は何ですか?

  • KOA-ロガー:ここで私はいくつかのロガーのオプションを見て、私は

    "koa": "^2.3.0", 
    "koa-better-body": "^3.0.4", 
    "koa-better-flash": "0.0.3", 
    "koa-bodyparser": "^4.2.0", 
    "koa-csrf": "^3.0.6", 
    "koa-ejs": "^4.1.0", 
    "koa-passport": "^4.0.1", 
    "koa-redis": "^3.1.1", 
    "koa-router": "^7.2.1", 
    "koa-session": "^5.5.0", 
    "koa-static": "^4.0.1", 
    

    を使用してい興亜モジュールです「KOAの開発スタイルロガーミドルウェア」http://github.com/koajs/loggerは持っていないようです任意の構成オプション(V3.1.0)

  • ウィンストン:成熟した、ロギングライブラリは、https://github.com/bithavoc/express-winstonが広く使われているようですし、素敵な設定オプションがあり、理想的に私は、ミドルウェアでこれを使用することができます。
  • モルガンをフィルタリングするための設定があります。人気のリクエストライブラリーのようだとone articleはウィンストンでそれを使用してお勧めします、リクエストの簡潔なロギングのために良いかもしれませんプロダクトでWarnまたはErrorレベルのログを使用して実行している場合もともとpart of express-js、私はこれらのいずれかのオプションを選択する前koa-morgan

、私は私がすでに使用しているKOAモジュールの一つに組み込まれているか、設定され、これを設定するには、いくつかの方法がありますかどうかを尋ねるだろうと思ったがあります適切なフィルタリングをサポートするロガー

+1

最良の方法は、最初の場所に記録されませんように、パスワードを送信するために、次のようになります。パスワードは記録され、それを省略した場所が見つかり

。なぜ彼らはまったくログに記録されていませんか? – jfriend00

+0

良い点。私はロギングがライブラリの1つから来ているという間違った前提を立てました...ロギングを行っていたアプリケーションコード内の場所を見つけました。ありがとう! – Ultrasaurus

答えて

0

この問題の正解は、問題の原因をより深く見ていたことです。コメントのヒントについては、@ jfriend00に感謝しています。

log.info('Register user', _.omit(ctx.request.body,"password")); 
関連する問題