From b96493d57a0d2d66277aafa6012e5e81e3615e66 Mon Sep 17 00:00:00 2001 From: Kurt Pattyn Date: Wed, 4 Jan 2017 14:56:36 +0100 Subject: [PATCH 1/2] Add trace level Add debug level to console. --- .jshintrc | 1 + lib/karl.js | 35 +++++++++++++++++++---------------- package.json | 2 +- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/.jshintrc b/.jshintrc index 0964eba..dc67e45 100644 --- a/.jshintrc +++ b/.jshintrc @@ -1,6 +1,7 @@ { //ENVIRONMENT "node": true, + "esversion": 6, "esnext": true, diff --git a/lib/karl.js b/lib/karl.js index 5020b61..4924f26 100644 --- a/lib/karl.js +++ b/lib/karl.js @@ -12,10 +12,10 @@ //disable warnings about unnecessary semicolons /*jshint -W032 */ -var util = require("util"); -var os = require("os"); -var path = require("path"); -var assert = require("assert"); +const util = require("util"); +const os = require("os"); +const path = require("path"); +const assert = require("assert"); /** * Mixes the enumerable properties of the source objects to the target object. @@ -72,7 +72,7 @@ const stdout = process.stdout; * @constant * @private */ -const LOG_LEVELS = ["DEBUG", "INFO", "WARN", "ERROR", "FATAL"]; +const LOG_LEVELS = ["TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL"]; /** * @constant @@ -110,7 +110,8 @@ Object.keys(colors._colors).forEach(function(key) { * @constant * @private */ -var logColors = { +const logColors = { + TRACE: colors.green, DEBUG: colors.defaultTextColor, INFO: colors.defaultTextColor, WARN: colors.yellow, @@ -119,7 +120,7 @@ var logColors = { }; /** @private */ -var logOptions = defaultLogOptions; +let logOptions = defaultLogOptions; /** * Supported formatters: @@ -148,7 +149,7 @@ function textFormatter(message) { } /** @private */ -var formatters = { +const formatters = { jsonFormatter: jsonFormatter, textFormatter: textFormatter, @@ -162,14 +163,14 @@ var formatters = { * * @private */ -var defaultFormatter = formatters.getFormatter(defaultLogOptions); +const defaultFormatter = formatters.getFormatter(defaultLogOptions); /** * The currently active formatter. * * @private */ -var currentFormatter = null; +let currentFormatter = null; /** * The karl logger. @@ -180,7 +181,7 @@ var currentFormatter = null; * * @property {String} version The version of the karl module. */ -var karl = { +let karl = { version: require("../package.json").version }; @@ -191,7 +192,7 @@ module.exports = karl; * * @private */ -var dummyTrace = { +const dummyTrace = { getFileName: function() { return null; }, getLineNumber: function() { return null; }, getFunctionName: function() { return null; } @@ -382,10 +383,12 @@ LOG_LEVELS.forEach(function(level) { }); /** @private */ -let defaultConsole = {}; +let defaultConsole = { + debug: console.log +}; /** @private */ -["log", "info", "warn", "error"].forEach(function(level) { +["trace", "log", "info", "warn", "error"].forEach(function(level) { defaultConsole[level] = console[level]; }); @@ -398,7 +401,7 @@ function redirectConsole(enable) { //redirect console.log, .info, .warn and .error logging methods to our logger console.log = karl.info.bind(karl); - ["info", "warn", "error"].forEach(function(level) { + ["trace", "debug", "info", "warn", "error"].forEach(function(level) { console[level] = karl[level].bind(karl); }); } @@ -407,7 +410,7 @@ function redirectConsole(enable) { /* istanbul ignore else */ if (console.log !== defaultConsole.log) { //reset to default - ["log", "info", "warn", "error"].forEach(function(level) { + ["trace", "debug", "log", "info", "warn", "error"].forEach(function(level) { console[level] = defaultConsole[level]; }); } diff --git a/package.json b/package.json index 15bde8b..77a1633 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "karl", - "version": "1.0.1", + "version": "1.0.2", "description": "Very fast and simplistic logger that logs to the console.", "main": "./lib/karl.js", "scripts": { From ed08b417c232f7e6b52fb6542ed6a02f9ad2e056 Mon Sep 17 00:00:00 2001 From: Kurt Pattyn Date: Wed, 4 Jan 2017 15:00:00 +0100 Subject: [PATCH 2/2] Remove duplicate/ocnflicting settings from jshintrc --- .jshintrc | 2 -- 1 file changed, 2 deletions(-) diff --git a/.jshintrc b/.jshintrc index dc67e45..ff95a7f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -3,8 +3,6 @@ "node": true, "esversion": 6, - "esnext": true, - //ENFORCING OPTIONS //These options tell jshint to be more strict about the code. "multistr": true, //deprecated, and will be removed in future version of jshint (use jscs instead)