From 3cf1d697e8f8f15abd2bad966f62c202b9f620b1 Mon Sep 17 00:00:00 2001 From: Skylar Lowery Date: Fri, 24 Apr 2015 11:14:17 -0600 Subject: [PATCH 1/2] Remove GELF flag when capturing custom fields * Logstash (which supports GELF) drops messages with this key * There's no particular need to keep this key --- lib/appenders/gelf.js | 2 ++ test/gelfAppender-test.js | 1 + 2 files changed, 3 insertions(+) diff --git a/lib/appenders/gelf.js b/lib/appenders/gelf.js index eca067e..644cbbc 100644 --- a/lib/appenders/gelf.js +++ b/lib/appenders/gelf.js @@ -85,6 +85,8 @@ function gelfAppender (layout, host, port, hostname, facility) { var firstData = data[0]; if (!firstData.GELF) return; // identify with GELF field defined + // Remove the GELF key, some gelf supported logging systems drop the message with it + delete firstData.GELF; Object.keys(firstData).forEach(function(key) { // skip _id field for graylog2, skip keys not starts with UNDERSCORE if (key.match(/^_/) || key !== "_id") { diff --git a/test/gelfAppender-test.js b/test/gelfAppender-test.js index 6b33b72..4238d6f 100644 --- a/test/gelfAppender-test.js +++ b/test/gelfAppender-test.js @@ -244,6 +244,7 @@ vows.describe('log4js gelfAppender').addBatch({ }, 'should pick up the options': function(message) { assert.equal(message.host, 'cheese'); + assert.equal(message.GELF, void(0)); // make sure flag was removed assert.equal(message._facility, 'nonsense'); assert.equal(message._every1, 'Hello every one'); // the default value assert.equal(message._every2, 'Overwritten!'); // the overwritten value From 1454ae5350fe921e95185a2041b4069586d20332 Mon Sep 17 00:00:00 2001 From: Skylar Lowery Date: Mon, 27 Apr 2015 11:00:44 -0600 Subject: [PATCH 2/2] Use isUndefined test method vs equals undefined *doh --- test/gelfAppender-test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/gelfAppender-test.js b/test/gelfAppender-test.js index 4238d6f..76fb5ea 100644 --- a/test/gelfAppender-test.js +++ b/test/gelfAppender-test.js @@ -244,7 +244,7 @@ vows.describe('log4js gelfAppender').addBatch({ }, 'should pick up the options': function(message) { assert.equal(message.host, 'cheese'); - assert.equal(message.GELF, void(0)); // make sure flag was removed + assert.isUndefined(message.GELF); // make sure flag was removed assert.equal(message._facility, 'nonsense'); assert.equal(message._every1, 'Hello every one'); // the default value assert.equal(message._every2, 'Overwritten!'); // the overwritten value