在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')
尝试添加一些解释也许?一般来说,仅有代码的答案并不是非常有用。此外,这不会回答OP问题,它只会将所有内容转发到文件。 – xShirase
首先,您是否知道npm?
如果否,则阅读/研究它。
其他,然后好。注意适合记录任务的npm模块。
我会推荐你winston-logger。
在项目中安装温斯顿为:
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}`);
它还会记录所有成功日志d在日志目录下以日期方式显示错误日志,如您在此处所看到的。
我在项目中使用“accesslog”而不是“successlog”作为关键字。
而我没有得到你的意思是'成功/失败率'。 为了得到这个比例,简单的计算一下。时间成功和错误日志被记录。
我正在使用确切的配置,但未生成日志文件。我在控制台中看到日志。 – user2180794
成功/失败率或成功/失败的消息? – rresol
你可以使用记录器像winston – AJS
关闭重复的 http://stackoverflow.com/questions/8393636/node-log-in-a-file-instead-of-the-console – keshavDulal