diff --git a/httppulsakita.js b/httppulsakita.js index c6feead..7100f93 100644 --- a/httppulsakita.js +++ b/httppulsakita.js @@ -2,7 +2,9 @@ var url = require('url'); var math = require('mathjs'); var request = require('request'); var xml = require("xml2js").parseString; +var winston = require('winston'); +var logger; var config; var callbackReport; @@ -21,7 +23,7 @@ function parseSN(message, _config) { var sn_match = message.match(sn_regex); if (sn_match <= 0) { - console.log('SN Not found: ' + message); + logger.info('SN Not found: ' + message); return ''; } @@ -69,23 +71,20 @@ function topupRequest(task, retry) { produk: task['remoteProduct'], tujuan: task['destination'] }; - console.log('PARAMS:'); - console.log(params); + logger.info('Creating http request to gateway', {params: params}); request.post({url: config.h2h_out.partner, form: params}, function(err, httpResponse, httpResponseBody) { config.globals.active_requests_count--; if (err) { - console.log('HTTP Request Error (' + task['requestId'] + '): '); - console.log(err); + logger.warn('HTTP Request Error (' + task['requestId'] + '): ' + err); callbackReport(task['requestId'], '40', 'Gangguan koneksi ke suplier'); return; } - console.log('Server Response: '); - console.log(httpResponseBody); + logger.info('Got response from gateway ', {response_body: httpResponseBody}); if (httpResponseBody.indexOf('502 Proxy Error') >= 0) { callbackReport(task['requestId'], '40', '502 Proxy error'); @@ -94,14 +93,13 @@ function topupRequest(task, retry) { xml(httpResponseBody, function(err, result) { if (err) { - console.log('Gagal parsing XML respon server'); + logger.warn('Gagal parsing XML respon server'); //topupRequest(task, retry - 1); callbackReport(task['requestId'], '40', 'Gagal parsing XML pada respon server'); return; } - console.log('Response Data:'); - console.log(result); + logger.info('Response Data:', {result: result}); var response_code = result.respon.rc[0].replace(/^00/, ''); if (response_code == '54' || response_code == '68') { @@ -148,9 +146,19 @@ function topupRequest(task, retry) { }); } -function start(_config, _callbackReport) { +function start(_config, _callbackReport, options) { config = _config; callbackReport = _callbackReport + + if (options && options.logger) { + logger = options.logger; + } else { + logger = new winston.Logger({ + transports: [ + new (winston.transports.Console)() + ] + }); + } } function parseResult(message) { diff --git a/index.js b/index.js index 1ba3ba2..b591a2d 100644 --- a/index.js +++ b/index.js @@ -1,15 +1,17 @@ var iniparser = require('iniparser'); var config = iniparser.parseSync('./config.ini'); +var logger = require('sate24/logger.js').start(); + var aaaHost = config.globals.aaa_host; HttpServer = require('sate24/httpserver.js'); -var httpServer = HttpServer.start(config); +var httpServer = HttpServer.start(config, {logger: logger}); var aaa = require('sate24/aaa.js'); HttpServer.setAaa(aaa); var partner = require('./httppulsakita.js'); -partner.start(config, aaa.callbackReport); -aaa.start(config, partner); +partner.start(config, aaa.callbackReport, {aaa: aaa, logger: logger}); +aaa.start(config, partner, {logger: logger}); diff --git a/package.json b/package.json index 9cedd6d..1749750 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "mathjs": "~1.7.0", "xmlrpc": "~1.3.1", "xml2js": "~0.4.9", - "sate24": "git+http://git@gitlab.kodesumber.com/reload97/node-sate24.git" + "sate24": "git+http://git@gitlab.kodesumber.com/reload97/node-sate24.git", + "winston": "~1.0.1" } }