カスタムレベルのロガーを作成して、Winston (NodeJS) の使用方法を理解しようとしています。
ロガー.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;
//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
ここで何が間違っていますか?