diff --git a/src/common.js b/src/common.js index 0b6d0b64..2f82b8dc 100644 --- a/src/common.js +++ b/src/common.js @@ -143,7 +143,9 @@ function setup(env) { } function extend(namespace, delimiter) { - return createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; } /** diff --git a/test.js b/test.js index 888f9bd8..d8ffca4e 100644 --- a/test.js +++ b/test.js @@ -80,6 +80,14 @@ describe('debug', () => { const logBar = log.extend('bar', ''); expect(logBar.namespace).to.be.equal('foobar'); }); + + it('should keep the log function between extensions', () => { + const log = debug('foo'); + log.log = () => {}; + + const logBar = log.extend('bar'); + expect(log.log).to.be.equal(logBar.log); + }); }); describe('rebuild namespaces string (disable)', () => {