vlog

    0.2.12 • Public • Published

    A better logger for nodejs

    Build Status

    Sometimes the console can't point the right error stack,so the vlog will replace it. vlog will show the error stack in fine format, add your custom msg, and replace console.

    V0.2.4

    • ee and eo can save unlimit arguments as JSON objects in log
    • Plugin supported, now you can do anything (save error to other file, sent to logstash...) with plugin, try this:
    var plugA = {
      'log': function() {
        console.log('plugA----' + (new Date()));
        console.log.apply(null, arguments);
      },
      'error': function() {
        console.log('plugA----' + (new Date()));
        console.error.apply(this, arguments);
      }
    };
    var vlog = instance(__filename, plugA);
    vlog.log('test log with plugA:%d', 323);

    Installation

    npm install vlog --save
    

    Usage

    //reqire vlog with __filename
    var vlog = require('vlog').instance(__filename);
     
    var test = function(callback){
      if (!callback) {
        return;
      }
      var newErr = new Error('err1');
      /**
       * vlog.ee
       * replace **error** in callback
       * 返回一个error堆栈,附加当前错误,用于callback到上层
       * @param  {Error} [err] 
       * @param  {string} errMsg 
       * @param  {object,object...} other objects,will be JSON.stringify and save to log
       * @return {} 
       */
      //callback an error
      callback(vlog.ee(newErr,'error msg and vars',{'other object':'xyz'},'some other paras','more paras'));
     
      //or use null, vlog will create a Error obj for you
      //callback(vlog.ee(null,'error msg1','other object to log'));
    };
     
     
    var test2 = function(e){
      if (e) {
      /**
       * vlog.eo
       * print the error stack in console
       * 打印错误堆栈
       * @param  {Error} err 
       * @param  {string} errMsg 
       * @return {} 
       */
        vlog.eo(e,'test2 error');
      }
    };
     
    test(test2);

    will got this:

    --------- ERR: 2015-11-21 16:39:32 ---------
    testErrA:
      [test.vlog.js]test2 error;
      [test.vlog.js]error msg1 @P:--"other object to log";
        at Object.me.ee (/xxx/lib/vlog.js:48:13)
        at test (/xxx/test/test.vlog.js:12:21)
        at Object.<anonymous> (/xxx/test/test.vlog.js:24:7)
        at Module._compile (module.js:425:26)
        at Object.Module._extensions..js (module.js:432:10)
        at Module.load (module.js:356:32)
        at Function.Module._load (module.js:311:12)
        at Function.Module.runMain (module.js:457:10)
        at startup (node.js:136:18)
        at node.js:972:3

    replace the console functions,so you can add more function with plugin:

    vlog.log('test:name:%s,age:%d',user.name,user.age); // = console.log
    vlog.error('test:name:%s,age:%d',user.name,user.age); // = console.error
    vlog.warn('test:name:%s,age:%d',user.name,user.age); // = console.warn
    vlog.info('test:name:%s,age:%d',user.name,user.age); // = console.info
    vlog.dir({user.name,user.age}); // = console.dir

    Install

    npm i vlog

    DownloadsWeekly Downloads

    19

    Version

    0.2.12

    License

    MIT

    Last publish

    Collaborators

    • keel