From 0571089a8b6da0b234b7fe8407ccf6a02f04b311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Charvet=20=E9=BB=91=E7=93=9C?= Date: Mon, 18 Aug 2014 07:25:55 +0800 Subject: [PATCH 1/6] Correctly send message, level and hostname Fix issue #230 where the level would hold the message and the log level information would be lost. --- lib/appenders/loggly.js | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/lib/appenders/loggly.js b/lib/appenders/loggly.js index 9cd19f3..9ab4047 100644 --- a/lib/appenders/loggly.js +++ b/lib/appenders/loggly.js @@ -18,24 +18,18 @@ var layouts = require('../layouts') */ function logglyAppender(config, layout) { var client = loggly.createClient(config); + if(!layout) layout = passThrough; - function packageMessage(loggingEvent) { - function BaseItem(level, msg) { - this.level = level || loggingEvent.level.toString(); - this.category = loggingEvent.categoryName; - this.hostname = os.hostname().toString(); - if (typeof msg !== 'undefined') - this.msg = msg; - }; - - var formattedMsg = passThrough(loggingEvent); - return new BaseItem(formattedMsg); - }; - - return function(loggingEvent) { - var a = layout ? layout(loggingEvent) : packageMessage(loggingEvent); - client.log(a, config.tags); - }; + return function(loggingEvent) { + console.log('logging ', loggingEvent); + var msg = layout(loggingEvent); + client.log({ + msg: msg, + level: loggingEvent.level.levelStr, + category: loggingEvent.categoryName, + hostname: os.hostname().toString(), + }); + } } function configure(config) { From 93695fbfc42ee7a84f1d31a431b8d850a3c0c40e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Charvet=20=E9=BB=91=E7=93=9C?= Date: Mon, 18 Aug 2014 07:31:33 +0800 Subject: [PATCH 2/6] Change spaces by tabs Keeping constitency with the rest of the code. --- lib/appenders/loggly.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/appenders/loggly.js b/lib/appenders/loggly.js index 9ab4047..eb25c9c 100644 --- a/lib/appenders/loggly.js +++ b/lib/appenders/loggly.js @@ -21,14 +21,14 @@ function logglyAppender(config, layout) { if(!layout) layout = passThrough; return function(loggingEvent) { - console.log('logging ', loggingEvent); - var msg = layout(loggingEvent); - client.log({ - msg: msg, - level: loggingEvent.level.levelStr, - category: loggingEvent.categoryName, - hostname: os.hostname().toString(), - }); + console.log('logging ', loggingEvent); + var msg = layout(loggingEvent); + client.log({ + msg: msg, + level: loggingEvent.level.levelStr, + category: loggingEvent.categoryName, + hostname: os.hostname().toString(), + }); } } From feef9975c7665cd007dc84ffbd0fd0b2b4583cdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Charvet=20=E9=BB=91=E7=93=9C?= Date: Mon, 18 Aug 2014 07:32:23 +0800 Subject: [PATCH 3/6] Remove test logging --- lib/appenders/loggly.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/appenders/loggly.js b/lib/appenders/loggly.js index eb25c9c..f3ecdbd 100644 --- a/lib/appenders/loggly.js +++ b/lib/appenders/loggly.js @@ -21,7 +21,6 @@ function logglyAppender(config, layout) { if(!layout) layout = passThrough; return function(loggingEvent) { - console.log('logging ', loggingEvent); var msg = layout(loggingEvent); client.log({ msg: msg, From 8e5754371a476556f1bb29e1fd8e6d1f14345da7 Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Wed, 20 Aug 2014 09:12:13 +1000 Subject: [PATCH 4/6] 0.6.18 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5a7bf14..9bd4427 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "log4js", - "version": "0.6.17", + "version": "0.6.18", "description": "Port of Log4js to work with node.", "keywords": [ "logging", From 44687e1bd178cea876db676c3599b4ffca01d728 Mon Sep 17 00:00:00 2001 From: j2ro Date: Wed, 20 Aug 2014 10:11:44 +0100 Subject: [PATCH 5/6] #233: Adding ability to put pid in log layout pattern --- lib/layouts.js | 6 ++++++ test/layouts-test.js | 3 +++ 2 files changed, 9 insertions(+) diff --git a/lib/layouts.js b/lib/layouts.js index 9cfd035..389e7aa 100644 --- a/lib/layouts.js +++ b/lib/layouts.js @@ -125,6 +125,7 @@ function messagePassThroughLayout (loggingEvent) { * - %d date in various formats * - %% % * - %n newline + * - %z pid * - %x{} add dynamic tokens to your log. Tokens are specified in the tokens parameter * You can use %[ and %] to define a colored block. * @@ -211,6 +212,10 @@ function patternLayout (pattern, tokens) { return '%'; } + function pid() { + return process.pid; + } + function userDefined(loggingEvent, specifier) { if (typeof(tokens[specifier]) !== 'undefined') { if (typeof(tokens[specifier]) === 'function') { @@ -232,6 +237,7 @@ function patternLayout (pattern, tokens) { 'r': startTime, '[': startColour, ']': endColour, + 'z': pid, '%': percent, 'x': userDefined }; diff --git a/test/layouts-test.js b/test/layouts-test.js index 00a3d6c..db6ba56 100644 --- a/test/layouts-test.js +++ b/test/layouts-test.js @@ -217,6 +217,9 @@ vows.describe('log4js layouts').addBatch({ '%h should output hostname' : function(args) { test(args, '%h', os.hostname().toString()); }, + '%z should output pid' : function(args) { + test(args, '%z', process.pid); + }, '%c should handle category names like java-style package names': function(args) { test(args, '%c{1}', 'tests'); test(args, '%c{2}', 'of.tests'); From 3e78fcb630955b6fa5d59af20a5eb651c3be7d10 Mon Sep 17 00:00:00 2001 From: j2ro Date: Wed, 20 Aug 2014 10:41:11 +0100 Subject: [PATCH 6/6] #233: Adding ability to put pid in log layout pattern --- lib/layouts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/layouts.js b/lib/layouts.js index 389e7aa..270f336 100644 --- a/lib/layouts.js +++ b/lib/layouts.js @@ -145,7 +145,7 @@ function messagePassThroughLayout (loggingEvent) { */ function patternLayout (pattern, tokens) { var TTCC_CONVERSION_PATTERN = "%r %p %c - %m%n"; - var regex = /%(-?[0-9]+)?(\.?[0-9]+)?([\[\]cdhmnprx%])(\{([^\}]+)\})?|([^%]+)/; + var regex = /%(-?[0-9]+)?(\.?[0-9]+)?([\[\]cdhmnprzx%])(\{([^\}]+)\})?|([^%]+)/; pattern = pattern || TTCC_CONVERSION_PATTERN;