From ca635fc4b99af217e24d6b865499e8f298dd0d82 Mon Sep 17 00:00:00 2001 From: Jens John Date: Thu, 10 Jul 2014 12:17:35 +0900 Subject: [PATCH 1/2] GELF appender: don't send full_message field According to the GELF spec v1.1 [1], the full_message field in GELF is optional. The log4js implemention until now has sent identitical short_message and full_message fields. Since this does not add any new information to the log message, I suggest that full_message be dropped from GELF. -- [1] http://graylog2.org/gelf#specs --- lib/appenders/gelf.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/appenders/gelf.js b/lib/appenders/gelf.js index 8e075b5..e3df4f1 100644 --- a/lib/appenders/gelf.js +++ b/lib/appenders/gelf.js @@ -96,8 +96,7 @@ function gelfAppender (layout, host, port, hostname, facility) { function preparePacket(loggingEvent) { var msg = {}; addCustomFields(loggingEvent, msg); - msg.full_message = layout(loggingEvent); - msg.short_message = msg.full_message; + msg.short_message = layout(loggingEvent); msg.version="1.0"; msg.timestamp = msg.timestamp || new Date().getTime() / 1000; // log should use millisecond From 7ff053f104bfbbf5da72732ea5fbe6e7c95b9903 Mon Sep 17 00:00:00 2001 From: Jens John Date: Fri, 11 Jul 2014 12:38:29 +0900 Subject: [PATCH 2/2] fix test/gelfAppender-test.js to reflect full_message being gone --- test/gelfAppender-test.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test/gelfAppender-test.js b/test/gelfAppender-test.js index 4a1ff58..64750b5 100644 --- a/test/gelfAppender-test.js +++ b/test/gelfAppender-test.js @@ -119,8 +119,7 @@ vows.describe('log4js gelfAppender').addBatch({ assert.equal(message.host, require('os').hostname()); assert.equal(message.level, 6); //INFO assert.equal(message.facility, 'nodejs-server'); - assert.equal(message.full_message, message.short_message); - assert.equal(message.full_message, 'This is a test'); + assert.equal(message.short_message, 'This is a test'); } } }, @@ -251,7 +250,6 @@ vows.describe('log4js gelfAppender').addBatch({ assert.equal(message._every2, 'Overwritten!'); // the overwritten value assert.equal(message._myField, 'This is my field!'); // the value for this message only assert.equal(message.short_message, 'Just testing.'); // skip the field object - assert.equal(message.full_message, 'Just testing.'); // should be as same as short_message } } }