Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在NodeJS中创建日志文件_Node.js_Logging_Npm_Mocha.js_Chai - Fatal编程技术网

Node.js 在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中创建和保存日志文件以供测试使用?
日志文件应包含所进行测试的成功/失败比率。
我还没有尝试过任何东西,因为我是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的问题,它只是将所有内容转发到一个文件。我使用的是精确的配置,但不会生成日志文件。我在控制台中看到日志。