Commit 025274bdbf9d56f2c1b64672c3cb534e3a649a0c
1 parent
6d3c240f9e
Exists in
master
Logging Lebih Rapih closed #1
Showing 3 changed files with 47 additions and 11 deletions Side-by-side Diff
.gitignore
index.js
... | ... | @@ -4,6 +4,34 @@ var telegram = require('node-telegram-bot-api'); |
4 | 4 | var request = require('request'); |
5 | 5 | var http = require('http'); |
6 | 6 | var url = require('url'); |
7 | +var strftime = require('strftime'); | |
8 | +var winston = require('winston'); | |
9 | + | |
10 | +var logger = new (winston.Logger)({ | |
11 | + transports: [ | |
12 | + new (winston.transports.Console)({ | |
13 | + timestamp: function() { | |
14 | + return strftime('%F %T', new Date()); | |
15 | + }, | |
16 | + formatter: function(options) { | |
17 | + // Return string will be passed to logger. | |
18 | + return options.timestamp() +' '+ options.level.toUpperCase() +' '+ (undefined !== options.message ? options.message : '') + | |
19 | + (options.meta && Object.keys(options.meta).length ? '\n\t'+ JSON.stringify(options.meta) : '' ); | |
20 | + } | |
21 | + }), | |
22 | + new (winston.transports.DailyRotateFile)({ | |
23 | + filename: 'log_', | |
24 | + timestamp: function() { | |
25 | + return strftime('%F %T', new Date()); | |
26 | + }, | |
27 | + formatter: function(options) { | |
28 | + // Return string will be passed to logger. | |
29 | + return options.timestamp() +' '+ options.level.toUpperCase() +' '+ (undefined !== options.message ? options.message : '') + | |
30 | + (options.meta && Object.keys(options.meta).length ? '\n\t'+ JSON.stringify(options.meta) : '' ); | |
31 | + } | |
32 | + }) | |
33 | + ] | |
34 | +}); | |
7 | 35 | |
8 | 36 | |
9 | 37 | var chat_ids = {}; |
... | ... | @@ -14,9 +42,13 @@ var options = { |
14 | 42 | |
15 | 43 | var bot = new telegram(config.globals.token, options); |
16 | 44 | |
45 | +function deleteChatId(from) { | |
46 | + delete chat_ids[from]; | |
47 | +} | |
48 | + | |
17 | 49 | function sendMessage(destination, message) { |
18 | 50 | //destination = destination.replace(/@TELEGRAM$/, ''); |
19 | - console.log('Sending reply to ' + destination + ': ' + message); | |
51 | + logger.info('Sending reply to ' + destination + ': ' + message); | |
20 | 52 | var chat_id = chat_ids[destination]; |
21 | 53 | bot.sendMessage(chat_id, message); |
22 | 54 | } |
... | ... | @@ -24,30 +56,30 @@ function sendMessage(destination, message) { |
24 | 56 | function createHttpResponseServer(){ |
25 | 57 | var httpServer = http.createServer(function(request,response){ |
26 | 58 | var qs = url.parse(request.url, true).query; |
27 | - console.log('Incoming message from SMSIN server:') | |
28 | - console.log(qs); | |
59 | + logger.info('Incoming request from SMSIN server:', {qs: qs}) | |
60 | + //logger.info(qs); | |
29 | 61 | response.end('OK'); |
30 | 62 | |
31 | 63 | sendMessage(qs.PhoneNumber, qs.text); |
32 | 64 | }); |
33 | 65 | httpServer.listen(config.globals.listen_port, function(){ |
34 | - console.log("listening on " + config.globals.listen_port); | |
66 | + logger.info("listening on " + config.globals.listen_port); | |
35 | 67 | }) |
36 | 68 | } |
37 | 69 | createHttpResponseServer(); |
38 | 70 | |
39 | 71 | bot.getMe().then(function (me) { |
40 | - console.log('Hi my name is %s!', me.username); | |
72 | + logger.info('Hi my name is %s!', me.username); | |
41 | 73 | }); |
42 | 74 | |
43 | 75 | bot.on('text', function (msg) { |
44 | - console.log(msg); | |
76 | + logger.info(msg); | |
45 | 77 | |
46 | 78 | var now = Math.floor(new Date().getTime()/1000); |
47 | 79 | |
48 | 80 | if (now - msg.date > config.globals.message_max_age){ |
49 | 81 | var message = 'Pesan "' + msg.text + '" diabaikan. Silahkan diulang kembali.'; |
50 | - console.log(message) | |
82 | + logger.info(message) | |
51 | 83 | bot.sendMessage(msg.chat.id, message); |
52 | 84 | return; |
53 | 85 | } |
... | ... | @@ -55,6 +87,7 @@ bot.on('text', function (msg) { |
55 | 87 | var from = msg.from.username.toUpperCase() + config.globals.msisdn_suffix; |
56 | 88 | |
57 | 89 | chat_ids[from] = msg.chat.id; |
90 | + //setTimeout(deleteChatId, 1000 * 3600 * 24 * 2, from) | |
58 | 91 | |
59 | 92 | bot.sendMessage( msg.chat.id,'Pesan anda telah diterima: ' + msg.text); |
60 | 93 | |
... | ... | @@ -70,12 +103,12 @@ bot.on('text', function (msg) { |
70 | 103 | |
71 | 104 | request(request_opts, function(err, response, body) { |
72 | 105 | if (err) { |
73 | - console.log('Request error: ' + err); | |
106 | + logger.info('Request error: ' + err); | |
74 | 107 | return; |
75 | 108 | } |
76 | 109 | |
77 | - console.log('Response: ' + response); | |
78 | - console.log('Body: ' + body); | |
110 | + logger.info('Response: ' + response); | |
111 | + logger.info('Body: ' + body); | |
79 | 112 | |
80 | 113 | }); |
81 | 114 | }); |