Node: Customizable console.group indentation

Created on 20 Apr 2020  路  4Comments  路  Source: nodejs/node

Is your feature request related to a problem? Please describe.
The indentation width used by console.group is too small for me.

Describe the solution you'd like
Customizable indentation width. Perhaps with a Node flag or env variable as we probably won't want to modify the console.group API.


As a hacky workaround, I'm currently overwriting console.group:

const kGroupIndent = Object.getOwnPropertySymbols(console).find(s => s.description === 'kGroupIndent');
const increaseIndentBy = '  ';
const { group, groupEnd } = console;
console.group = function () {
    group.apply(this, arguments);
    this[kGroupIndent] += increaseIndentBy;
};
console.groupEnd = function () {
    groupEnd.apply(this, arguments);
    this[kGroupIndent] = this[kGroupIndent].slice(0, this[kGroupIndent].length - increaseIndentBy.length);
};
console feature request

Most helpful comment

It would be possible to add an option to the console constructor that allows to modify the indentation. Would this be sufficient? It would not have any impact on the global console in that case.

All 4 comments

It would be possible to add an option to the console constructor that allows to modify the indentation. Would this be sufficient? It would not have any impact on the global console in that case.

Yes! ty

Maybe use ' '. repeat(n), can I work on this ?

@rickyes please feel free to work on it. The constructor requires a new option (e.g., groupIndentation) and the kGroupIndent has to be changed accordingly (instead of using two spaces as done currently). Probably by adding another symbol property (e.g., kGroupIndentationWidth).

Was this page helpful?
0 / 5 - 0 ratings