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"
   }
 }