diff --git a/.travis.yml b/.travis.yml index a901687..f102b22 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,9 @@ sudo: false language: node_js node_js: + - "7" + - "6" + - "5" + - "4" - "0.12" - - "0.11" - - "0.10" - - "0.8" - - "iojs" env: NODE_TLS_REJECT_UNAUTHORIZED=0 diff --git a/lib/winston-logstash.js b/lib/winston-logstash.js index 7982860..b5b9825 100644 --- a/lib/winston-logstash.js +++ b/lib/winston-logstash.js @@ -185,6 +185,10 @@ Logstash.prototype.connect = function () { this.socket.on('close', function (had_error) { self.connected = false; + if (self.terminating) { + return; + } + if (self.max_connect_retries < 0 || self.retries < self.max_connect_retries) { if (!self.connecting) { setTimeout(function () { @@ -232,7 +236,6 @@ Logstash.prototype.flush = function () { for (var i = 0; i < self.log_queue.length; i++) { self.sendLog(self.log_queue[i].message, self.log_queue[i].callback); - self.emit('logged'); } self.log_queue.length = 0; }; @@ -244,3 +247,7 @@ Logstash.prototype.sendLog = function (message, callback) { self.socket.write(message + '\n'); callback(); }; + +Logstash.prototype.getQueueLength = function () { + return this.log_queue.length; +}; \ No newline at end of file diff --git a/package.json b/package.json index cc417e0..f23864b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "winston-logstash", - "version": "0.2.11", + "version": "0.3.0", "description": "A Logstash transport for winston", "main": "./lib/winston-logstash", "homepage": "https://github.com/jaakkos/winston-logstash", @@ -18,10 +18,10 @@ "winston": ">=0.7.3" }, "devDependencies": { - "winston": ">=0.7.3", - "mocha": ">=2.2.4", "chai": ">=2.3.0", - "timekeeper": ">=0.0.5" + "mocha": ">=2.2.4", + "timekeeper": ">=0.0.5", + "winston": ">=0.7.3" }, "keywords": [ "logging", @@ -36,6 +36,7 @@ "contributors": [ "Jaakko Suutarla ", "Chris Saylor ", + "djmax", "gwhitelaw", "Ivan Fraixedes", "kgoerlitz", diff --git a/test/winston-logstash_test.js b/test/winston-logstash_test.js index 75bd668..6edc814 100644 --- a/test/winston-logstash_test.js +++ b/test/winston-logstash_test.js @@ -31,9 +31,9 @@ describe('winston-logstash transport', function() { } function createTestServer(port, on_data) { - var server = net.createServer(port, function (socket) { + var server = net.createServer(function (socket) { socket.on('end', function () { }); - socket.on('data', on_data); + socket.once('data', on_data); }); server.listen(port, function() {}); @@ -50,7 +50,7 @@ describe('winston-logstash transport', function() { }; var server = tls.createServer(serverOptions, function(socket) { socket.on('end', function () { }); - socket.on('data', on_data); + socket.once('data', on_data); }); server.listen(port, function() {}); @@ -143,16 +143,18 @@ describe('winston-logstash transport', function() { }); // Teardown - afterEach(function () { + afterEach(function (done) { if (logger) { logger.close(); } + timekeeper.reset(); if (test_server) { - test_server.close(function () {}); + test_server.close(function () { + test_server = null; + logger = null; + done(); + }); } - timekeeper.reset(); - test_server = null; - logger = null; }); }); @@ -225,16 +227,18 @@ describe('winston-logstash transport', function() { }); // Teardown - afterEach(function () { + afterEach(function (done) { if (logger) { logger.close(); } + timekeeper.reset(); if (test_server) { - test_server.close(function () {}); + test_server.close(function () { + test_server = null; + logger = null; + done(); + }); } - timekeeper.reset(); - test_server = null; - logger = null; }); });