Skip to content

Commit

Permalink
feat: STRF-9922 Improve renderer logging (#244)
Browse files Browse the repository at this point in the history
  • Loading branch information
jairo-bc authored Feb 9, 2023
1 parent 78a8260 commit 9f07d35
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 2 deletions.
13 changes: 13 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ class HandlebarsRenderer {

this.logger = logger;
this._setHandlebarsLogger();
this._overrideConsoleLog();
this.setSiteSettings(siteSettings || {});
this.setThemeSettings(themeSettings || {});
this.setTranslator(null);
Expand Down Expand Up @@ -356,6 +357,18 @@ class HandlebarsRenderer {
};
}

/**
* As some handlebars helpers do not use the logger, we need to override the console.log method
*/
_overrideConsoleLog() {
if (this.logger !== console) {
console.log = this.logger.log;
console.info = this.logger.info;
console.error = this.logger.error;
console.warn = this.logger.warn;
}
}

/**
*
* @param {String} level
Expand Down
36 changes: 34 additions & 2 deletions spec/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,9 @@ describe('logging', () => {
sandbox = Sinon.createSandbox();
logger = {
log: Sinon.fake(),
info: Sinon.fake(),
warn: Sinon.fake(),
error: Sinon.fake(),
};
console = {
log: Sinon.fake(),
Expand All @@ -431,7 +434,7 @@ describe('logging', () => {

it('log helper uses given logger', done => {
renderer.renderString('{{log bar}}', context).then(() => {
expect(logger.log.calledWith('baz')).to.equal(true);
expect(logger.info.calledWith('baz')).to.equal(true);
done();
});
});
Expand All @@ -456,7 +459,7 @@ describe('logging', () => {
it('console log helper uses given logger', done => {
renderer = new HandlebarsRenderer({}, {}, 'v4', console);
renderer.renderString('{{log bar}}', context).then(() => {
expect(console.log.calledWith('baz')).to.equal(true);
expect(console.info.calledWith('baz')).to.equal(true);
done();
});
});
Expand All @@ -476,4 +479,33 @@ describe('logging', () => {
done();
});
});

it('should override default console.log', done => {
renderer = new HandlebarsRenderer({}, {}, 'v4', logger);
console.log('test');
expect(logger.log.calledWith('test')).to.equal(true);
done();
});

it('should override default console.info', done => {
renderer = new HandlebarsRenderer({}, {}, 'v4', logger);
console.info('info');
expect(logger.info.calledWith('info')).to.equal(true);
done();
});

it('should override default console.error', done => {
renderer = new HandlebarsRenderer({}, {}, 'v4', logger);
console.error('error');
expect(logger.error.calledWith('error')).to.equal(true);
done();
});

it('should override default console.warn', done => {
renderer = new HandlebarsRenderer({}, {}, 'v4', logger);
console.warn('test');
expect(logger.warn.calledWith('test')).to.equal(true);
done();
});

});

0 comments on commit 9f07d35

Please sign in to comment.