diff --git a/lib/winston/logger.js b/lib/winston/logger.js old mode 100644 new mode 100755 index 58a64c221..80c130e78 --- a/lib/winston/logger.js +++ b/lib/winston/logger.js @@ -406,6 +406,7 @@ Logger.prototype.unhandleExceptions = function () { if (this.catchExceptions) { Object.keys(this.exceptionHandlers).forEach(function (name) { + var handler = self.exceptionHandlers[name]; if (handler.close) { handler.close(); } diff --git a/test/logger-test.js b/test/logger-test.js old mode 100644 new mode 100755 index 0074f2038..ad8d28741 --- a/test/logger-test.js +++ b/test/logger-test.js @@ -197,4 +197,20 @@ vows.describe('winton/logger').addBatch({ } } } +}).addBatch({ + "The winston logger": { + topic: new (winston.Logger)({ + exceptionHandlers: [ + new (winston.transports.Console)(), + new (winston.transports.File)({ filename: path.join(__dirname, 'fixtures', 'logs', 'filelog.log' )}) + ] + }), + "the unhandleExceptions() method": { + "should remove all transports": function (logger) { + assert.equal(helpers.size(logger.exceptionHandlers), 2); + logger.unhandleExceptions(); + assert.equal(helpers.size(logger.exceptionHandlers), 0); + } + } + } }).export(module);