2016-11-30 17 views
-3

テスト目的でNodeJSにログファイルを作成して保存する方法は?
ログファイルには、実行されたテストの成功/失敗率が含まれている必要があります。
私はNodeJsを初めて使用しているので、まだ何も試していません。NodeJSでログファイルを作成

+0

成功/失敗率または成功/失敗したメッセージ? – rresol

+0

あなたはwinston – AJS

+0

のようなロガーを使うことができます の複製を閉じるhttp://stackoverflow.com/questions/8393636/node-log-in-a-file-instead-of-the-console – keshavDulal

答えて

0
require('mkdirp').sync('logs') // your log directory 

var logger = require('log4js') 

logger.configure({ 
    "appenders": [{ 
     "type": "console" 
    }, { 
     "type": "dateFile", 
     "category": "log", 
     "filename": "logs/exp", 
     "pattern": "yyMMdd.log", 
     "alwaysIncludePattern": true 
    }], 
    "replaceConsole": true 
}) 

logger.info('success') 
logger.error('fail') 
+1

おそらくいくつかの説明を追加しようとしますか?コードのみの回答はあまり一般的ではありません。また、これはOPの質問に答えるものではなく、すべてをファイルに転送します。 – xShirase

5

まずはnpmについて知りたいですか?
いいえの場合は、それについて読んだりリサーチしてください。
そうでなければ、良い。ロギングタスクに適したnpm-modulesを調べてください。
私はあなたにお勧めしますwinston-logger

として、プロジェクト内のウィンストンをインストールします。

npm install winston --save 

ここでアウト・オブ・ボックスIは、utilsの下logger.jsとして私のプロジェクトで頻繁に使用使用する準備の構成です。

/** 
* Configurations of logger. 
*/ 
const winston = require('winston'); 
const winstonRotator = require('winston-daily-rotate-file'); 

const consoleConfig = [ 
    new winston.transports.Console({ 
    'colorize': true 
    }) 
]; 

const createLogger = new winston.Logger({ 
    'transports': consoleConfig 
}); 

const successLogger = createLogger; 
successLogger.add(winstonRotator, { 
    'name': 'access-file', 
    'level': 'info', 
    'filename': './logs/access.log', 
    'json': false, 
    'datePattern': 'yyyy-MM-dd-', 
    'prepend': true 
}); 

const errorLogger = createLogger; 
errorLogger.add(winstonRotator, { 
    'name': 'error-file', 
    'level': 'error', 
    'filename': './logs/error.log', 
    'json': false, 
    'datePattern': 'yyyy-MM-dd-', 
    'prepend': true 
}); 

module.exports = { 
    'successlog': successLogger, 
    'errorlog': errorLogger 
}; 

そして、単にこのように必要な場所インポート:

errorlog.error(`Error Message : ${error}`); 

それ:として

successlog.info(`Success Message and variables: ${variable}`); 

とエラー:

const errorLog = require('../util/logger').errorlog; 
const successlog = require('../util/logger').successlog; 

その後、として成功をログに記録することができますまた、すべての成功ログをdエラー - ログディレクトリの下のファイルを日付別にログします。
log direcotry

私のプロジェクトではキーワードとして「successlog」ではなく「accesslog」を使用しています。
「成功/失敗率」の意味を理解できませんでした。 比率を得るためには単に数を数えます。成功とエラーログが記録されます。

+0

正確な設定を使用していますが、ログファイルは生成されません。コンソールにログが表示されます。 – user2180794

関連する問題