diff --git a/index.js b/index.js index 4f960f3..6237ccd 100644 --- a/index.js +++ b/index.js @@ -1,13 +1,22 @@ 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('./partner-scrappingkisel.js'); -partner.start(config, aaa.callbackReport); -aaa.start(config, partner); +var partner_options = { + 'aaa': aaa, + 'logger': logger +} + +partner.start(config, aaa.callbackReport, partner_options); +aaa.start(config, partner, {logger: logger}); diff --git a/package.json b/package.json index 805c90b..ef53a22 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "xmlrpc": "~1.3.1", "xml2js": "~0.4.9", "node-simple-router": "~0.9.4-2", - "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.2" } } diff --git a/partner-scrappingkisel.js b/partner-scrappingkisel.js index 843ea75..30a4552 100644 --- a/partner-scrappingkisel.js +++ b/partner-scrappingkisel.js @@ -6,9 +6,10 @@ var request = require('request'); var xml2js = require('xml2js').parseString; var strftime = require('strftime'); var math = require('mathjs'); +var winston = require('winston'); var config; -var httpServer; +var logger; process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; @@ -41,7 +42,7 @@ function topupRequest(task) { product: task['remoteProduct'] } }; - console.log(options); + logger.info('HTTP request to partner', {request_options: options}); request(options, function (error, response, body) { if (config.globals.active_requests_count == undefined) { @@ -51,13 +52,12 @@ function topupRequest(task) { } if (error || response.statusCode != 200) { - console.log(logTag + ': Gateway Error'); + logger.warn(logTag + ': Gateway Error'); callbackReport(task['requestId'], '40', 'Gateway Error'); return; } - console.log(logTag + ': Supplier response:'); - console.log(body); + logger.info('Got supplier response', {response_body: body}); xml2js(body, function (err, result) { if (err) { @@ -65,7 +65,7 @@ function topupRequest(task) { return; } - console.log(result); + logger.info('Got result from partner', {result: result}); var response_code = '68'; var message = result.trx_response.info[0].trim(); @@ -113,7 +113,7 @@ function topupRequest(task) { var stock = parseStock(stocks, product); if (stock == 0) { - console.log('OUT OF STOCK: ' + task['product']); + logger.info('OUT OF STOCK: ' + task['product']); config.globals.products = productsWithout(task['product']); } @@ -122,7 +122,7 @@ function topupRequest(task) { message = 'SN=' + kode_voucher + '; ' + product + ' ' + destination + ' ' + harga + ' ref_num: ' + ref_num + ' kode_voucher: ' + kode_voucher + ' sisa stock: ' + stock + ' unit'; } - console.log('Message to AAA: ' + message); + logger.info('Message to AAA: ' + message); callbackReport(task['requestId'], response_code, message); }); }); @@ -130,7 +130,21 @@ function topupRequest(task) { function start(_config, _callbackReport) { config = _config; - callbackReport = _callbackReport + callbackReport = _callbackReport; + + if (options && options.aaa) { + aaa = options.aaa; + } + + if (options && options.logger) { + logger = options.logger; + } else { + logger = new winston.Logger({ + transports: [ + new (winston.transports.Console)() + ] + }); + } } function stockKeyword(product_desc) {