Node.js 在NodeJS中创建日志文件
如何在NodeJS中创建和保存日志文件以供测试使用?Node.js 在NodeJS中创建日志文件,node.js,logging,npm,mocha.js,chai,Node.js,Logging,Npm,Mocha.js,Chai,如何在NodeJS中创建和保存日志文件以供测试使用? 日志文件应包含所进行测试的成功/失败比率。 我还没有尝试过任何东西,因为我是NodeJs的新手。首先,你知道吗? require('mkdirp').sync('logs') // your log directory var logger = require('log4js') logger.configure({ "appenders": [{ "type": "console" }, {
日志文件应包含所进行测试的成功/失败比率。
我还没有尝试过任何东西,因为我是NodeJs的新手。首先,你知道吗?
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')
如果没有,请阅读/研究相关信息。否则就好了。注意适合记录任务的npm模块。
我推荐你 在项目中安装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”作为关键字。
我不明白你说的“成功/失败比率”是什么意思。
为了获得比率,只需计算记录成功和错误日志的次数。成功/失败比率或成功/失败消息?您可以使用winstonClose duplicate之类的记录器,尝试添加一些解释,也许?一般来说,只使用代码的答案没有多大帮助。此外,这并没有回答OP的问题,它只是将所有内容转发到一个文件。我使用的是精确的配置,但不会生成日志文件。我在控制台中看到日志。