我正在尝试通过创建具有自定义级别的记录器来了解如何使用Winston(NodeJS)。
logger.js
var winston = require('winston');
var custom = {
levels: {
debug: 0,
log : 1,
info : 2,
ok : 3,
warn : 4,
cry : 5,
fail : 6
},
colors: {
debug: 'grey',
log : 'white',
info : 'cyan',
ok : 'green',
yay : 'blue',
warn : 'yellow',
cry : 'magenta',
fail : 'red'
}
};
var customLogger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({ colorize:true, prettyPrint: true, level: 'fail', timestamp:false })
],
levels:custom.levels, colors:custom.colors
});
module.exports = customLogger;
// in includes.js
var logger = require('./lib/logger.js');
exports.logger = logger;
//在app.js
中var logger = require('includes').logger
logger.cry("Wah Wah Wah");
但每当我尝试包含我的自定义记录器并使用它时,我得到:
RangeError: Maximum call stack size exceeded
我在这里做错了什么?
答案 0 :(得分:1)
立即想到的一件事是直接在app.js中包含logger.js而不是通过includes.js。
我很乐意提供更多帮助,但是对于那些位置的文件,没有其他任何内容可以继续,但你所说的,就我可以告诉你的应用程序根本不应该工作。