ExpressJS 中记录器模块定义的问题
Problems with loggers module definition in ExpressJS
我有我的nodejs项目,我想将记录器与我的路由分开.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
我的记录器目录中有下一个代码:
记录器/票证.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;
}
};
我的路线.js文件,有下一个头
路线/门票.js
var Ticket = require('../models/ticket'),
loggers = require('../loggers/ticket.js'),
log = loggers.getTicketLogger();
module.exports = function(app){
}
我做错了什么,以及如何改进代码以将记录器与路由.js文件分开。
谢谢。
loggers/ticket.js 应该返回一个具有 getTicketLogger
方法的对象。
var log4js = require('log4js');
module.exports = function() {
var 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;
}
return { getTicketLogger: getTicketLogger };
};
然后在路线/票证中.js
var loggers = require('./../loggers/ticket.js')();
var log = loggers.getTicketLogger;
typeof loggers; // => object
typeof log; // => function
相关文章:
- 如何消除代码中的未定义和其他问题
- 组件生命周期问题/无法处理未定义的问题
- 自定义滑块问题
- 自定义Jquery css下拉菜单问题
- 动态加载的自定义javascript/jQuery/HTML5音频播放器的问题
- JavaScript/jQuery JSON数组问题-值为未定义
- 谷歌地图自定义标记问题
- 在javascript中调用自定义谷歌搜索标签时出现问题
- 使用Breeze脱机数据时出现未定义的问题不是函数
- 从谷歌地图自定义控件打开离子模态时遇到问题
- 在自定义元素中扩展 HTMLCanvasElement 问题
- 在具有CONTENT标记的自定义元素中使用SELECT标记时出现问题
- Magento自定义选项-清除输入字段问题
- 访问模板中的属性时出现问题-除'name'显示错误'没有定义[attributename];
- 如何解决jquery自定义定时器问题
- 在wordpress中向自定义php模板添加滑块时出现问题
- 在构建自定义网页刮刀时遇到问题
- JQuery Mobile自定义下拉列表问题
- AJAX自定义错误处理代码问题
- 困惑为什么这个javascript导致我的问题.定义了类和原型方法