From 12629dd9d415b15dbdbe54d5f9225a6f2b596318 Mon Sep 17 00:00:00 2001 From: Dominik Sigmund <dominik.sigmund@br.de> Date: Wed, 19 Feb 2020 10:56:35 +0100 Subject: [PATCH] up to date, ready to merge --- README.md | 11 ++++++++++- index.js | 33 +++++++++++++++++++++++++++++++++ package-lock.json | 7 ++++++- package.json | 10 +++++----- 4 files changed, 54 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f9752be..92ce93f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ May Optional Log to A File. ## Usage -`const Log = require('log')` +`const Log = require('log')` `let log = new Log(options)` Note: The options Part may be omitted, as all parts are optional, but using the name is recommended, as without it, the package-name will be used @@ -29,6 +29,15 @@ Note: The options Part may be omitted, as all parts are optional, but using the name: 'Name of App. Default: Name of BaseFolder', hostname: 'Server Hostname, Default: os.hostname()', file: 'File to Append Log to', + graylog: { + active: 'true or false', + servers: [ + { + server: 'graylog-server', + port: 'graylog-port' + } + ] + }, path: 'Path Logfile located', loglevel: 'Minimal LogLevel. Default: WARN' } diff --git a/index.js b/index.js index c2e6e08..86b9f5d 100644 --- a/index.js +++ b/index.js @@ -43,6 +43,15 @@ function Log (options) { } } } + if (this.options.graylog && this.options.graylog.active) { + this.graylog2 = require('graylog2') + this.graylogger = new this.graylog2.graylog({ // eslint-disable-line new-cap + servers: this.options.graylog.servers, + hostname: this.hostname, + facility: this.name + }) + } + this.info = function (message) { if (this.loglevel >= this.levels.INFO) { return this.log('INFO', message) @@ -116,6 +125,30 @@ function Log (options) { } }) } + if (this.options.graylog && this.options.graylog.active) { + switch (tag) { + case 'INFO': + this.graylogger.info(message) + break + case 'NOTICE': + this.graylogger.notice(message) + break + case 'WARN': + this.graylogger.warning(message) + break + case 'ERROR': + this.graylogger.error(message) + break + case 'FATAL': + this.graylogger.critical(message) + break + case 'DEBUG': + this.graylogger.debug(message) + break + default: + this.graylogger.notice(message) + } + } return msg } this.getDate = function () { diff --git a/package-lock.json b/package-lock.json index b08133a..604d0c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "lib-log", - "version": "2.0.0", + "version": "2.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2027,6 +2027,11 @@ "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", "dev": true }, + "graylog2": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/graylog2/-/graylog2-0.2.1.tgz", + "integrity": "sha512-vjysakwOhrAqMeIvSK0WZcmzKvkpxY6pCfT9QqtdSVAidPFIynuin7adqbdFp9MCCTbTE402WIxvg8cph5OWTA==" + }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", diff --git a/package.json b/package.json index 019a394..c7f0441 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,10 @@ { "name": "lib-log", - "version": "2.0.0", + "version": "2.1.0", "description": "A simple Logger with Options!", "main": "index.js", "scripts": { - "test": "jest tests/index.test.js", - "test-coverage": "nyc --reporter=html --reporter=text mocha -- tests/test.js && rsync --remove-source-files -av --progress ./coverage ./docs/ && rm -Rf ./coverage", - "test-graphics": "nyc --reporter=html --reporter=text mocha -R mochawesome -- tests/test.js && rsync --remove-source-files -av --progress ./coverage ./docs/ && rm -Rf ./coverage && rsync --remove-source-files -av --progress ./mochawesome-report ./docs/ && rm -Rf ./mochawesome-report" + "test": "jest tests/index.test.js" }, "author": "Dominik Sigmund <sigmund.dominik@googlemail.com> (https://webdad.eu)", "license": "ISC", @@ -14,7 +12,9 @@ "type": "git", "url": "https://it-devops-01.br-edv.brnet.int/argos/log" }, - "dependencies": {}, + "dependencies": { + "graylog2": "^0.2.1" + }, "devDependencies": { "jest": "^24.9.0" } -- GitLab