Skip to content

Commit

Permalink
Merge pull request #1247 from log4js-node/fixes-logger.log-output
Browse files Browse the repository at this point in the history
fix: fallback for logger.log outputs nothing
  • Loading branch information
lamweili committed May 19, 2022
2 parents b81c08b + e4dc432 commit 47ecd68
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 4 deletions.
2 changes: 1 addition & 1 deletion lib/layouts.js
Expand Up @@ -254,7 +254,7 @@ function patternLayout(pattern, tokens) {

// support for ESM as it uses url instead of path for file
/* istanbul ignore next: unsure how to simulate ESM for test coverage */
const convertFileURLToPath = function(filepath) {
const convertFileURLToPath = function (filepath) {
const urlPrefix = 'file://';
if (filepath.startsWith(urlPrefix)) {
// https://nodejs.org/api/url.html#urlfileurltopathurl
Expand Down
3 changes: 2 additions & 1 deletion lib/logger.js
Expand Up @@ -82,8 +82,9 @@ class Logger {
log(level, ...args) {
let logLevel = levels.getLevel(level);
if (!logLevel) {
this._log(levels.WARN, 'log4js:logger.log: invalid value for log-level as first parameter given: ', level);
this._log(levels.WARN, ['log4js:logger.log: invalid value for log-level as first parameter given:', level]);
logLevel = levels.INFO;
args = [level, ...args];
}
if (this.isLevelEnabled(logLevel)) {
this._log(logLevel, args);
Expand Down
22 changes: 20 additions & 2 deletions test/tap/newLevel-test.js
Expand Up @@ -232,14 +232,32 @@ test("../../lib/logger", batch => {

const logger = log4js.getLogger();

logger.log("LEVEL_DOES_NEXT_EXIST", "Event 1");
logger.log(log4js.levels.getLevel("LEVEL_DOES_NEXT_EXIST"), "Event 2");
logger.log("LEVEL_DOES_NOT_EXIST", "Event 1");
logger.log(log4js.levels.getLevel("LEVEL_DOES_NOT_EXIST"), "Event 2");
logger.log("Event 3");

const events = recording.replay();

t.equal(events[0].level.toString(), "WARN", "should log warning");
t.equal(events[0].data[0], "log4js:logger.log: invalid value for log-level as first parameter given:");
t.equal(events[0].data[1], "LEVEL_DOES_NOT_EXIST");
t.equal(events[1].level.toString(), "INFO", "should fall back to INFO");
t.equal(events[1].data[0], "LEVEL_DOES_NOT_EXIST");
t.equal(events[1].data[1], "Event 1");

t.equal(events[2].level.toString(), "WARN", "should log warning");
t.equal(events[2].data[0], "log4js:logger.log: invalid value for log-level as first parameter given:");
t.equal(events[2].data[1], undefined);
t.equal(events[3].level.toString(), "INFO", "should fall back to INFO");
t.equal(events[3].data[0], undefined);
t.equal(events[3].data[1], "Event 2");

t.equal(events[4].level.toString(), "WARN", "should log warning");
t.equal(events[4].data[0], "log4js:logger.log: invalid value for log-level as first parameter given:");
t.equal(events[4].data[1], "Event 3");
t.equal(events[5].level.toString(), "INFO", "should fall back to INFO");
t.equal(events[5].data[0], "Event 3");

t.end();
});

Expand Down

0 comments on commit 47ecd68

Please sign in to comment.