重用对象在模块中定义

时间:2014-03-08 18:14:18

标签: javascript

我定义了一个包含2个不同文件的记录器,并按照以下方式使用它:

main.js

var config = require('./config');
var log = require('./services/logger')(config);
log.logger.info("Info Logging");

config.js

var config = {};
var PRODUCTION = process.env.NODE_ENV === "production";
config.log = {
    level : 'info'
};
module.exports = config;

logger.js

module.exports = function (config) {
    var winston = require('winston');
    var logger = new(winston.Logger)({
            transports : [new(winston.transports.Console)({
                    level : config.log.level
                })]
        });
    var winstonStream = {
        write : function (message, encoding) {
            logger.info(message.slice(0, -1));
        }
    };
    return {
        logger : logger,
        expressStreamLogger : winstonStream
    };
};

问题

在另一个文件中,我想使用记录器(log.logger)。每次我需要使用记录器时,我是否应该重复以下要求?

var config = require('./config');
var log = require('./services/logger')(config);
log.logger.info("Info Logging");

0 个答案:

没有答案