NumminorihSF / ami-io

Use node.js or io.js to manage Asterisk through AMI
MIT License
30 stars 16 forks source link

hide logger messages #8

Closed ikerib closed 7 years ago

ikerib commented 7 years ago

Hi, I want to print log info only when some events happen like this:


if ( event.event === 'Hangup') {
        console.log("Hangup");
        amiio.logger.info('event:', event);
    }

But is printing everything all the time... any help?

NumminorihSF commented 7 years ago

Hi. Looks like I forgot push changes to repo, but push to npm. I'll push it tomorrow. You can check README.md file in node_modules/ami-io. Please check if you use v1.1.0. By default amiio.logger has very verbose log. To log only event you need, use AmiIo.SilentLogger as logger and do:

 var AmiIo = require("ami-io"),
        SilentLogger = new AmiIo.SilentLogger(), //use SilentLogger if you just want remove logs
        amiio = new AmiIo.Client({ logger: SilentLogger }); //remove any log from amiio.

amiio.on('event', eventObject => logOrFilterAsYouWhant(eventObject));

function logOrFilterAsYouWhand(eventObject) {
  if (eventObject.event === 'Handup'){
    console.log('event:', eventObject);
    //if you will use amiio.logger, you will never see anything.
  }
}
ikerib commented 7 years ago

Sorry, I'm quite new with node... can you extend your example? What I want to log is all call send/received by extension

to use SilentLogger is like this? amiio.useLogger(amiio.silent);

NumminorihSF commented 7 years ago

I updated example above.

ikerib commented 7 years ago

Thanks! Finally I've got it working with this code:

amiio.on('event', function(event){
    if (event.event === 'Hangup'){
        console.log('event:', event);
    }
    if (event.event === "Dial") {
        console.log("Ring Ring");
    }
});

With your code I had an error on this line: amiio.on('event', eventObject => logOrFilterAsYouWhant(eventObject));

Expression expected on '=>'

Seafnox commented 7 years ago

@ikerib you need to use ES2015+ (node 4+) or use babel instead if you want work with array function.

ikerib commented 7 years ago

ok! thanks!