Commit b5c220d9dd80cade32f8be3c05214931c3ef6d85

Authored by Adhidarma Hadiwinoto
1 parent ff1b8b35f1
Exists in master

logger

Showing 3 changed files with 48 additions and 22 deletions Side-by-side Diff

... ... @@ -9,6 +9,9 @@ var redis = require('redis');
9 9  
10 10 var Router = require('node-simple-router');
11 11  
  12 +var winston = require('winston');
  13 +
  14 +var logger;
12 15 var config;
13 16 var httpServer;
14 17 var redisClient;
... ... @@ -52,15 +55,26 @@ function topupRequest(task) {
52 55 }
53 56 };
54 57  
55   - console.log(options);
  58 + logger.info('Creating http request to gateway', {options: options});
56 59  
57 60 request(options, function (error, response, body) {
58 61  
59   - console.log(logTag + ': DIRECT RESPONSE');
  62 + logger.info(logTag + ': DIRECT RESPONSE');
  63 +
  64 + if (error) {
  65 +
  66 + var error_message = 'Error on http connection to gateway: ' + error;
  67 + logger.warn(error_message);
  68 + callbackReport(task['requestId'], '91', error_message);
  69 + return;
60 70  
61   - if (error || response.statusCode != 200) {
62   - console.log(logTag + ': ' + 'Gateway Error');
63   - callbackReport(task['requestId'], '91', 'Gateway Error');
  71 + }
  72 +
  73 + if (response.statusCode != 200) {
  74 +
  75 + var error_message = 'Gateway error, http response code: ' + response.statusCode;
  76 + logger.warn(error_message);
  77 + callbackReport(task['requestId'], '91', error_message);
64 78 return;
65 79 }
66 80  
... ... @@ -69,12 +83,12 @@ function topupRequest(task) {
69 83  
70 84 xml2js(body, function (err, result) {
71 85 if (err) {
72   - console.log(body);
  86 + logger.warn('Error parsing XML', {response_body: body});
73 87 callbackReport(task['requestId'], '40', body);
74 88 return;
75 89 }
76 90  
77   - console.log(result);
  91 + logger.info(result);
78 92  
79 93 try {
80 94 if (result.direct_ack.request_status == 'OK') {
... ... @@ -92,7 +106,7 @@ function topupRequest(task) {
92 106 responseMessage = result.direct_ack.info;
93 107 }
94 108 catch(err) {
95   - console.log('Exception on parsing request response');
  109 + logger.warn('Exception on parsing request response');
96 110 responseCode = 40;
97 111 responseMessage = 'Invalid response from gateway';
98 112 }
... ... @@ -118,7 +132,7 @@ function parseSN(message, _config) {
118 132 var sn_match = message.match(sn_regex);
119 133  
120 134 if (sn_match <= 0) {
121   - console.log('SN Not found: ' + message);
  135 + logger.info('SN Not found: ' + message);
122 136 return '';
123 137 }
124 138  
... ... @@ -142,7 +156,7 @@ function createServer() {
142 156  
143 157 var qs = url.parse(request.url, true).query;
144 158  
145   - console.log(qs);
  159 + logger.info('Got reverse report from gateway', {qs: qs});
146 160  
147 161 if (qs.topup_status == 'S') {
148 162 response_code = '00';
... ... @@ -166,7 +180,7 @@ function createServer() {
166 180  
167 181 }
168 182 catch(err) {
169   - console.log('Exception on parsing reverse report');
  183 + logger.warn('Exception on parsing reverse report', {exception: err} );
170 184 response_code = '40';
171 185 }
172 186  
... ... @@ -181,7 +195,7 @@ function createServer() {
181 195 var key = getRedisKey(qs.ts);
182 196 redisClient.get(key, function(err, request_id) {
183 197 if (err) {
184   - console.log('Error when requesting request id for ts:' + qs.ts + ' (' + key + ')');
  198 + logger.warn('Error when requesting request id for ts:' + qs.ts + ' (' + key + ')', {redis_error: err});
185 199 return;
186 200 }
187 201  
... ... @@ -190,7 +204,7 @@ function createServer() {
190 204 });
191 205  
192 206 httpServer.listen(config.h2h_out.listen_port, function() {
193   - console.log('HTTP Reverse/Report server listen on port ' + config.h2h_out.listen_port);
  207 + logger.info('HTTP Reverse/Report server listen on port ' + config.h2h_out.listen_port);
194 208 });
195 209 }
196 210  
... ... @@ -223,13 +237,13 @@ function responseCodeFromMessage(message) {
223 237 function updateBalance(message) {
224 238 var balance = getBalanceFromMessage(message);
225 239 if (balance) {
226   - console.log('Balance: ' + balance);
  240 + logger.info('Balance: ' + balance);
227 241  
228 242 try {
229 243 aaa.updateBalance(balance);
230 244 }
231 245 catch(err) {
232   - console.log('Exception on partner.updateBalance: ' + err);
  246 + logger.warn('Exception on partner.updateBalance: ' + err, {exception: err});
233 247 }
234 248 }
235 249 }
... ... @@ -265,10 +279,18 @@ function start(_config, _callbackReport, options) {
265 279 config = _config;
266 280 callbackReport = _callbackReport
267 281  
268   - if (options) {
269   - if (options.aaa) {
  282 + if (options && options.aaa) {
270 283 aaa = options.aaa;
271   - }
  284 + }
  285 +
  286 + if (options && options.logger) {
  287 + logger = options.logger;
  288 + } else {
  289 + logger = new winston.Logger({
  290 + transports: [
  291 + new (winston.transports.Console)()
  292 + ]
  293 + });
272 294 }
273 295  
274 296 createRedisClient();
... ... @@ -3,8 +3,10 @@ var config = iniparser.parseSync(&#39;./config.ini&#39;);
3 3  
4 4 var aaaHost = config.globals.aaa_host;
5 5  
  6 +var logger = require('sate24/logger.js').start();
  7 +
6 8 HttpServer = require('sate24/httpserver.js');
7   -var httpServer = HttpServer.start(config);
  9 +var httpServer = HttpServer.start(config, {logger: logger});
8 10  
9 11 var aaa = require('sate24/aaa.js');
10 12 HttpServer.setAaa(aaa);
... ... @@ -12,8 +14,9 @@ HttpServer.setAaa(aaa);
12 14 var partner = require('./gentong.js');
13 15  
14 16 var partner_options = {
15   - 'aaa': aaa
  17 + 'aaa': aaa,
  18 + 'logger': logger
16 19 }
17 20  
18 21 partner.start(config, aaa.callbackReport, partner_options);
19   -aaa.start(config, partner);
  22 +aaa.start(config, partner, {logger: logger});
... ... @@ -30,6 +30,7 @@
30 30 "xml2js": "~0.4.9",
31 31 "redis": "~0.12.1",
32 32 "node-simple-router": "~0.9.4-2",
33   - "sate24": "git+http://git@gitlab.kodesumber.com/reload97/node-sate24.git"
  33 + "sate24": "git+http://git@gitlab.kodesumber.com/reload97/node-sate24.git",
  34 + "winston": "~1.0.1"
34 35 }
35 36 }