nodejs プロジェクトがあり、ロガーを route.js から分離して、クリーンなコードを作成したいと考えています。
しかし、次の問題があります。ロガーを route.js ファイルにロードしようとすると、次のエラーが表示されます。
TypeError: loggers.getTicketLogger is not a function
at Object.<anonymous> (/home/ismael/projects/nodejs-ticketing/routes/ticket.js:3:23)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object.<anonymous> (/home/ismael/projects/nodejs-ticketing/server.js:49:1)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:141:18)
at node.js:933:3
ロガー ディレクトリ内に次のコードがあります。
ロガー/ticket.js
var log4js = require('log4js');
module.exports = function(){
getTicketLogger = function(){
var logger = null;
log4js.loadAppender('file');
log4js.addAppender(log4js.appenders.file(__dirname + '/../log/ticket.log'), 'ticket-log');
logger = log4js.getLogger('ticket-log');
logger.setLevel('DEBUG');
return logger;
}
};
そして、私の route.js ファイルには、次の頭があります
ルート/チケット.js
var Ticket = require('../models/ticket'),
loggers = require('../loggers/ticket.js'),
log = loggers.getTicketLogger();
module.exports = function(app){
}
私が間違っていること、およびコードを改善してロガーを route.js ファイルから分離する方法を教えてください。
ありがとうございます。