如何在NodeJS中创建和保存日志文件以进行测试?
日志文件应包含所进行测试的成功/失败率
我还没有尝试任何东西,因为我是NodeJs的新手。
答案 0 :(得分:6)
首先你知道npm吗? 如果否,则阅读/研究它 好的,那么好。注意适合记录任务的npm模块 我会推荐你winston-logger。
在项目中安装winston:
npm install winston --save
这是一个可以在我的项目中经常使用的开箱即用的配置,作为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
};
然后只需在需要的地方导入:
const errorLog = require('../util/logger').errorlog;
const successlog = require('../util/logger').successlog;
然后您可以将成功记录为:
successlog.info(`Success Message and variables: ${variable}`);
和错误:
errorlog.error(`Error Message : ${error}`);
它还会将所有成功日志和错误日志记录在日志目录下的日期目录中,如此处所示。
我在项目中使用“accesslog”而不是“successlog”作为关键字 而且我没有明白你对“成功/失败率”的看法。 为了获得比率,只需计算一下。记录成功和错误日志的次数。
答案 1 :(得分:1)
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')