From 57aac0bac17ec89623911ea7a7958de39d53e9ad Mon Sep 17 00:00:00 2001 From: Kamal Khatwani Date: Wed, 5 Aug 2020 18:54:22 +0530 Subject: [PATCH 1/5] Replaced git library from ssh to https --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ae4a42e..198d8b2 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "author": "Sayan Bhattacharya ", "license": "ISC", "dependencies": { - "graylog2": "git@github.com:Wizcorp/node-graylog2.git#817cd0d", + "graylog2": "https://github.com/Wizcorp/node-graylog2#817cd0d", "winston": "3.2.1" } } From 26a553e7bda7f8c4274af014ccc9ced6fc43bfbe Mon Sep 17 00:00:00 2001 From: Kamal Khatwani Date: Wed, 5 Aug 2020 19:21:51 +0530 Subject: [PATCH 2/5] Updated repo URL --- package.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package.json b/package.json index 198d8b2..d83ec24 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,10 @@ "winston", "logging" ], + "repository": { + "type": "git", + "url": "git+https://github.com/tinker20/log-switcher.git" + }, "author": "Sayan Bhattacharya ", "license": "ISC", "dependencies": { From a1ef9cb84697a66a6c7957a70ae906a75adb80df Mon Sep 17 00:00:00 2001 From: Kamal Khatwani Date: Thu, 19 Nov 2020 02:15:29 +0530 Subject: [PATCH 3/5] Added log-level compatibility with graylog, avoids object instantiation on each call --- .env.example | 2 +- .gitignore | 3 ++- log.js | 69 +++++++++++++++++++++++++++++----------------------- 3 files changed, 41 insertions(+), 33 deletions(-) diff --git a/.env.example b/.env.example index f0060b6..cefb8a7 100644 --- a/.env.example +++ b/.env.example @@ -4,4 +4,4 @@ GRAYLOG_HOSTNAME=sayan GRAYLOG_FACILITY=worker ENV=development # Accepted log levels: alert, critical, error, warning, notice, info, debug -LOG_LEVEL= \ No newline at end of file +LOG_LEVEL=debug \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8841450..8d2e7cd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules/ package-lock.json -test.js \ No newline at end of file +test.js +.env diff --git a/log.js b/log.js index fbaea34..76f5f56 100644 --- a/log.js +++ b/log.js @@ -1,32 +1,36 @@ +const LOG_LEVEL = process.env.LOG_LEVEL; +var grayLogger; +const graylog2 = require("graylog2"); /** * graylog.emergency - * graylog.alert - * graylog.critical - * graylog.error - * graylog.warning - * graylog.notice - * graylog.info - * graylog.debug - */ + graylog.alert + graylog.critical + graylog.error + graylog.warning + graylog.notice + graylog.info + graylog.debug + * */ +const graylogEnums = { + alert: 0, + critical: 0, + notice: 0, + emergency: 0, + error: 0, + warning: 1, + info: 2, + debug: 3 +}; -const graylog2 = require("graylog2"); -const grayLogger = new graylog2.graylog({ - servers: [ - { 'host': process.env.GRAYLOG_HOST || 'localhost', port: process.env.GRAYLOG_PORT || '12201' }, - ], - hostname: process.env.GRAYLOG_HOSTNAME || 'tinker20', - facility: process.env.GRAYLOG_FACILITY || 'worker', - bufferSize: 1350 -}); +grayLogger = grayLogger || new graylog2.graylog({ + servers: [ + {'host': process.env.GRAYLOG_HOST || 'localhost', port: process.env.GRAYLOG_PORT || '12201'}, + ], + hostname: process.env.GRAYLOG_HOSTNAME || 'tinker20', + facility: process.env.GRAYLOG_FACILITY || 'worker', + bufferSize: 1350 + }); -/** - * error - * warn - * info - * verbose - * debug - * silly - Not supported currently. - */ const winston = require("winston"); @@ -43,13 +47,16 @@ const winstonEnums = { const winstonLogger = winston.createLogger({ transports: [ - new winston.transports.Console({level: winstonEnums[process.env.LOG_LEVEL]}) + new winston.transports.Console({level: winstonEnums[process.env.LOG_LEVEL]}) ] -}); +}); -const logger = function(level, message){ - if(process.env.ENV === 'production'){ - grayLogger[level](message); +const logger = function (level, message) { + if (process.env.ENV === 'production') { + console.log(level, LOG_LEVEL, graylogEnums, graylogEnums[level], graylogEnums[LOG_LEVEL]); + if (graylogEnums[level] <= graylogEnums[LOG_LEVEL]) { + grayLogger[level](message); + } } else { winstonLogger[winstonEnums[level]](message); @@ -60,4 +67,4 @@ grayLogger.on('error', function (error) { console.error('Error while trying to write to graylog2:', error); }); -module.exports = logger; \ No newline at end of file +module.exports = logger; From a459758399092248250cfadec2e02211cad2ec5c Mon Sep 17 00:00:00 2001 From: Kamal Khatwani Date: Thu, 19 Nov 2020 03:52:24 +0530 Subject: [PATCH 4/5] Accept env variables in both upper case and lower case --- log.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/log.js b/log.js index 76f5f56..f5a75a3 100644 --- a/log.js +++ b/log.js @@ -53,8 +53,7 @@ const winstonLogger = winston.createLogger({ const logger = function (level, message) { if (process.env.ENV === 'production') { - console.log(level, LOG_LEVEL, graylogEnums, graylogEnums[level], graylogEnums[LOG_LEVEL]); - if (graylogEnums[level] <= graylogEnums[LOG_LEVEL]) { + if (graylogEnums[level] <= graylogEnums[LOG_LEVEL.toLowerCase()]) { grayLogger[level](message); } } From 5b12338ff622ebc318161c1771eba095cd938fe8 Mon Sep 17 00:00:00 2001 From: Kamal Khatwani Date: Sun, 22 Nov 2020 04:27:18 +0530 Subject: [PATCH 5/5] Support close enum for graylog to close the connection --- log.js | 1 + 1 file changed, 1 insertion(+) diff --git a/log.js b/log.js index f5a75a3..24a0897 100644 --- a/log.js +++ b/log.js @@ -35,6 +35,7 @@ grayLogger = grayLogger || new graylog2.graylog({ const winston = require("winston"); const winstonEnums = { + close: 'close', emergency: 'error', alert: 'error', critical: 'error',