在NodeJS中创建日志文件

Shr*_*hri -1 logging mocha.js node.js npm chai

如何在NodeJS中创建和保存日志文件以进行测试?
日志文件应包含所进行测试的成功/失败率.
我还没有尝试任何东西,因为我是NodeJs的新手.

kes*_*lal 8

首先你知道npm吗?
如果否,那么阅读/研究它.
好的,那么好.留意适合记录任务的npm模块.
我会推荐你winston-logger.

在您的项目中安装winston:

npm install winston --save
Run Code Online (Sandbox Code Playgroud)

这是一个可以在我的项目中经常使用的开箱即用的配置,如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
};
Run Code Online (Sandbox Code Playgroud)

然后只需在需要的地方导入:

const errorLog = require('../util/logger').errorlog;
const successlog = require('../util/logger').successlog;
Run Code Online (Sandbox Code Playgroud)

然后您可以将成功记录为:

successlog.info(`Success Message and variables: ${variable}`);
Run Code Online (Sandbox Code Playgroud)

和错误:

errorlog.error(`Error Message : ${error}`);
Run Code Online (Sandbox Code Playgroud)

它还会将所有成功日志和错误日志记录在日志目录下的日志目录中,如此处所示.
log direcotry

我在项目中使用了"accesslog"而不是"successlog"作为关键字.
而且我没有明白你对"成功/失败率"的看法.为了获得比率,只需计算一下.记录成功和错误日志的次数.