lib/scrib.js
function Scrib(adapters, callback) {
    
    EventEmitter.call(this);
    
    // Convert array to object
    if(Array.isArray(adapters)) {
        var am = adapters;
        adapters = {};
        am.forEach(function(m) {
            adapters[m] = {};
        });
    }
    
    var all = [],
        self = this;
    for(var m in adapters) {
        try {
            var adapter;
            try {
                adapter = require("scrib-" + m);
            } catch(e) {
                adapter = require(path.join(path.dirname(module.parent.filename), m));
            }
            all.push(async.apply(adapter, self, adapters[m]));
        } catch(e) {
            return callback(e);
        }
    }
    
    async.parallel(all, function done(err) {
        callback(err);
    });
}
function Scrib(adapters, callback) {
    
    EventEmitter.call(this);
    
    // Convert array to object
    if(Array.isArray(adapters)) {
        var am = adapters;
        adapters = {};
        am.forEach(function(m) {
            adapters[m] = {};
        });
    }
    
    var all = [],
        self = this;
    for(var m in adapters) {
        try {
            var adapter;
            try {
                adapter = require("scrib-" + m);
            } catch(e) {
                adapter = require(path.join(path.dirname(module.parent.filename), m));
            }
            all.push(async.apply(adapter, self, adapters[m]));
        } catch(e) {
            return callback(e);
        }
    }
    
    async.parallel(all, function done(err) {
        callback(err);
    });
}
function Scrib ( adapters , callback ) { EventEmitter . call ( this ) ; // Convert array to object if ( Array . isArray ( adapters ) ) { var am = adapters ; adapters = { } ; am . forEach ( function ( m ) { adapters [ m ] = { } ; } ) ; } var all = [ ] , self = this ; for ( var m in adapters ) { try { var adapter ; try { adapter = require ( "scrib-" + m ) ; } catch ( e ) { adapter = require ( path . join ( path . dirname ( module . parent . filename ) , m ) ) ; } all . push ( async . apply ( adapter , self , adapters [ m ] ) ) ; } catch ( e ) { return callback ( e ) ; } } async . parallel ( all , function done ( err ) { callback ( err ) ; } ) ; }
Initalizes a new logger

@param {Array|Object} adapters Array containing adapters to load or object with adapters as keys and options as values
@param {Function} callback Callback function
Initalizes a new logger