forked from apiaryio/cloudwatch-to-papertrail
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
39 lines (35 loc) · 1.04 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var zlib = require('zlib');
var winston = require('winston');
var papertrailTransport = require('winston-papertrail').Papertrail;
var config = require('./env.json');
const logger = new winston.Logger({
transports: []
});
exports.logger = logger;
logger.add(papertrailTransport, {
host: config.host,
port: config.port,
program: config.program,
hostname: config.appname,
flushOnClose: true,
logFormat: function (level, message) {
return message;
}
});
exports.handler = function(input, context) {
var payload = new Buffer(input.awslogs.data, 'base64');
zlib.gunzip(payload, function(e, result) {
if (e) {
context.fail(e);
} else {
result = JSON.parse(result.toString('ascii'));
var eventLength = result.logEvents.length;
//logger.info("got event");
for (var i = 0; i < eventLength; i++) {
//logger.info("loop:" + i);
logger.info(result.logEvents[i].message);
}
context.succeed();
}
});
};