From 836b5a2fed223b6c7e362aa6f475ef6f6aef6fa0 Mon Sep 17 00:00:00 2001 From: schneefux Date: Thu, 20 Apr 2017 12:05:53 +0200 Subject: integrate loggly --- package.json | 3 ++- worker.js | 20 +++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 172ad06..3073493 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ "sleep-promise": "^2.0.0", "snakecase-keys": "^1.1.0", "superagent-jsonapify": "^1.4.4", - "winston": "^2.3.1" + "winston": "^2.3.1", + "winston-loggly-bulk": "^1.4.2" }, "devDependencies": {}, "scripts": { diff --git a/worker.js b/worker.js index 46c7ff7..6862b94 100644 --- a/worker.js +++ b/worker.js @@ -4,6 +4,7 @@ const amqp = require("amqplib"), winston = require("winston"), + loggly = require("winston-loggly-bulk"), request = require("request-promise"), sleep = require("sleep-promise"), jsonapi = require("./jsonapi"), @@ -11,19 +12,28 @@ const amqp = require("amqplib"), const MADGLORY_TOKEN = process.env.MADGLORY_TOKEN, RABBITMQ_URI = process.env.RABBITMQ_URI || "amqp://localhost", + LOGGLY_TOKEN = process.env.LOGGLY_TOKEN, GRABBERS = parseInt(process.env.GRABBERS) || 4; if (MADGLORY_TOKEN == undefined) throw "Need an API token"; const logger = new (winston.Logger)({ transports: [ new (winston.transports.Console)({ - timestamp: () => Date.now(), - formatter: (options) => winston.config.colorize(options.level, -`${new Date(options.timestamp()).toISOString()} ${options.level.toUpperCase()} ${(options.message? options.message:"")} ${(options.meta && Object.keys(options.meta).length? JSON.stringify(options.meta):"")}`) + timestamp: true, + colorize: true }) ] }); +// loggly integration +if (LOGGLY_TOKEN) + logger.add(winston.transports.Loggly, { + inputToken: LOGGLY_TOKEN, + subdomain: "kvahuja", + tags: ["backend", "apigrabber"], + json: true + }); + (async () => { let rabbit, ch; @@ -120,8 +130,8 @@ const logger = new (winston.Logger)({ } failed = true; } finally { - logger.info("API response: status %s, connection start %s, connection end %s, ratelimit remaining: %s", - response.statusCode, response.timings.connect, response.timings.end, response.headers["x-ratelimit-remaining"]); + logger.info("API response", + { status: response.statusCode, connection_start: response.timings.connect, connection_end: response.timings.end, ratelimit_remaining: response.headers["x-ratelimit-remaining"] }); } // next page -- cgit v1.3.1