Skip to content

[terminal] Feature Request: Add a property to indicate the minimum accepted message severity #5062

@dmichon-msft

Description

@dmichon-msft

Summary

Currently various libraries and applications that use terminal.writeVerboseLine and similar have no way of knowing if the information will ever make it to a file or the user. If the ITerminal could be inspected to determine the minimum severity of messages that will be visible, the effort of constructing data that is only visible with verbose logging could potentially be skipped where it will not be retained.

Since ultimately the authority on message severity comes from the underlying ITerminalProvider implementations/instances, this information would need to be surfaced there and aggregated inside of ITerminal.

As a specific example, heft-lint-plugin performs a bunch of work to compute ESLint rule timings, but that information is only exposed when running with --verbose:

const timings: [string, number][] = Array.from(this._eslintTimings).sort(
(x: [string, number], y: [string, number]) => {
return y[1] - x[1];
}
);
for (const [ruleName, duration] of timings) {
if (duration > 0) {
this._terminal.writeVerboseLine(`Rule "${ruleName}" duration: ${duration.toFixed(3)} ms`);
} else {
omittedRuleCount++;
}
}
if (omittedRuleCount > 0) {
this._terminal.writeVerboseLine(`${omittedRuleCount} rules took 0ms`);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    effort: mediumNeeds a somewhat experienced developer

    Type

    No type

    Projects

    Status

    Low priority

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions