From 2dc31cb576cdf2dd6dbae0f23b494e2978a0bc10 Mon Sep 17 00:00:00 2001 From: Juan Tejada Date: Mon, 11 Jul 2016 15:50:55 -0700 Subject: [PATCH 1/3] Add number of syncing accounts to sync process manager heartbeat --- packages/nylas-sync/sync-process-manager.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/nylas-sync/sync-process-manager.js b/packages/nylas-sync/sync-process-manager.js index 560bc1fad..8d4042895 100644 --- a/packages/nylas-sync/sync-process-manager.js +++ b/packages/nylas-sync/sync-process-manager.js @@ -64,7 +64,9 @@ class SyncProcessManager { client.setAsync(key, Date.now()).then(() => client.expireAsync(key, HEARTBEAT_EXPIRES) ).then(() => - this._logger.info("ProcessManager: 💘") + this._logger.info({ + accounts_syncing_count: Object.keys(this._workers).length, + }, "ProcessManager: 💘") ) } From ae51646de62dc2a46ddbc2b1544f2531100b7b0f Mon Sep 17 00:00:00 2001 From: Juan Tejada Date: Mon, 11 Jul 2016 16:33:56 -0700 Subject: [PATCH 2/3] Comment out new relic for now --- packages/nylas-api/app.js | 2 +- packages/nylas-sync/app.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nylas-api/app.js b/packages/nylas-api/app.js index fbc8aedfa..dc9b08e08 100644 --- a/packages/nylas-api/app.js +++ b/packages/nylas-api/app.js @@ -1,4 +1,4 @@ -require('newrelic'); +// require('newrelic'); const Hapi = require('hapi'); const HapiSwagger = require('hapi-swagger'); diff --git a/packages/nylas-sync/app.js b/packages/nylas-sync/app.js index 14ae4c177..ac81a02f1 100644 --- a/packages/nylas-sync/app.js +++ b/packages/nylas-sync/app.js @@ -1,4 +1,4 @@ -require('newrelic'); +// require('newrelic'); global.Promise = require('bluebird'); const {DatabaseConnector, Logger} = require(`nylas-core`) const SyncProcessManager = require('./sync-process-manager'); From f8b8dfb87f381380f78055064b54624a724b4adb Mon Sep 17 00:00:00 2001 From: Juan Tejada Date: Mon, 11 Jul 2016 16:40:48 -0700 Subject: [PATCH 3/3] Revert to running pm2 in no-daemon mode in dev - Add a stream for pretty logging in dev mode --- package.json | 4 ++-- packages/nylas-core/logger.js | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f95dacb81..625d7d2a7 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ }, "devDependencies": { "babel-eslint": "6.x", + "bunyan-prettystream": "^0.1.3", "eslint": "2.x", "eslint-config-airbnb": "8.x", "eslint-plugin-import": "1.x", @@ -27,8 +28,7 @@ "sqlite3": "https://github.com/bengotow/node-sqlite3/archive/bengotow/usleep-v3.1.4.tar.gz" }, "scripts": { - "start": "pm2 kill && pm2 start ./pm2-dev.yml --watch && pm2 logs --raw | bunyan -o short", - "logs": "pm2 logs --raw | bunyan -o short", + "start": "pm2 start ./pm2-dev.yml --no-daemon", "stop": "pm2 kill", "postinstall": "lerna bootstrap" }, diff --git a/packages/nylas-core/logger.js b/packages/nylas-core/logger.js index 40c73ad31..1bdcb9002 100644 --- a/packages/nylas-core/logger.js +++ b/packages/nylas-core/logger.js @@ -1,17 +1,25 @@ const bunyan = require('bunyan') const createCWStream = require('bunyan-cloudwatch') +const PrettyStream = require('bunyan-prettystream'); const NODE_ENV = process.env.NODE_ENV || 'unknown' function getLogStreams(name, env) { + if (env === 'development') { + const prettyStdOut = new PrettyStream(); + prettyStdOut.pipe(process.stdout); + const stdoutStream = { + type: 'raw', + level: 'debug', + stream: prettyStdOut, + } + return [stdoutStream] + } + const stdoutStream = { stream: process.stdout, level: 'info', } - if (env === 'development') { - return [stdoutStream] - } - const cloudwatchStream = { stream: createCWStream({ logGroupName: `k2-${env}`,