Create a gist now

Instantly share code, notes, and snippets.

@dewd /bad
Created Dec 7, 2012

excerpts from a working, but ugly, common logger
module: ./lib/logger
---------------------------
// load config file (would like this to be passed in to the constructor)
nconf.file({ file: fileConfig});
var logSetting = nconf.get('log');
// instantiate the logger
var log = new Bunyan({
name: logSetting.name,
streams : [
{ stream : process.stdout,
level : logSetting.stdoutLevel},
{ path : logSetting.logfile,
level : logSetting.logfileLevel}
],
serializers : Bunyan.stdSerializers
});
function Logger(options) {
};
Logger.prototype.info = function info(e) { log.info(e) };
Logger.prototype.debug = function debug(e) { log.debug(e) };
Logger.prototype.trace = function trace(e) { log.trace(e) };
Logger.prototype.error = function error(e) { log.error(e) };
Logger.prototype.warn = function warn(e) { log.warn(e) };
module.exports = Logger;
module: main app
----------------------------------------
// create the logger
var logger = require('./lib/logger)
var log = new logger(options);
module: any project module using logger
-----------------------------------------
// open the logger (new, rely on singleton...)
var logger = require('./lib/logger');
var log = new logger();
@pasupulaphani

this worked nice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment