Skip to content

Commit

Permalink
Alternative fix for #1501 (#1539)
Browse files Browse the repository at this point in the history
* [wip fix] Assume message is the empty string when level-helper methods are invoked with no arguments.

* [fix] Add test for #1501.
  • Loading branch information
indexzero authored Jan 29, 2019
1 parent 9d3da20 commit b1738ad
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
6 changes: 6 additions & 0 deletions lib/winston/create-logger.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,12 @@ class DerivedLogger extends Logger {
return this;
}

// When provided nothing assume the empty string
if (args.length === 0) {
this.log(level, '');
return this;
}

// Otherwise build argument list which could potentially conform to
// either:
// . v3 API: log(obj)
Expand Down
19 changes: 19 additions & 0 deletions test/logger.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,25 @@ describe('Logger (levels)', function () {
done();
});

it('.<level>()', function (done) {
var logger = helpers.createLogger(function (info) {
assume(info).is.an('object');
assume(info.level).equals('info');
assume(info.message).is.a('string');
assume(info[MESSAGE]).is.a('string');
assume(info.message).equals('');
assume(info[MESSAGE]).equals(JSON.stringify({
level: 'info',
message: ''
}));

done();
});

logger.info();
logger.info('');
});

it('default levels', function (done) {
var logger = winston.createLogger();
var expected = { message: 'foo', level: 'debug' };
Expand Down

0 comments on commit b1738ad

Please sign in to comment.