Skip to content

Commit d1cdc8c

Browse files
committed
Add new MergedOutputChannel log
1 parent e6c84b8 commit d1cdc8c

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

src/logging.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,20 @@ export class LanguageClientOutputChannelAdapter implements LogOutputChannel {
255255
// #endregion
256256
}
257257

258+
/** Appends additional */
259+
export class PsesMergedOutputChannel extends LanguageClientOutputChannelAdapter {
260+
public override appendLine(message: string): void {
261+
this.append(message);
262+
}
263+
264+
public override append(message: string): void {
265+
const [parsedMessage, level] = this.parse(message);
266+
267+
// Append PSES prefix to log messages to differentiate them from Client messages
268+
this.sendLogMessage("[PSES] " + parsedMessage, level);
269+
}
270+
}
271+
258272
/** Overrides the severity of some LSP traces to be more logical */
259273
export class LanguageClientTraceFormatter extends LanguageClientOutputChannelAdapter {
260274
public override appendLine(message: string): void {

src/session.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import path = require("path");
66
import vscode = require("vscode");
77
import TelemetryReporter, { TelemetryEventProperties, TelemetryEventMeasurements } from "@vscode/extension-telemetry";
88
import { Message, Trace } from "vscode-jsonrpc";
9-
import { ILogger, LanguageClientOutputChannelAdapter, LanguageClientTraceFormatter } from "./logging";
9+
import { ILogger, LanguageClientOutputChannelAdapter, LanguageClientTraceFormatter, PsesMergedOutputChannel } from "./logging";
1010
import { PowerShellProcess } from "./process";
1111
import { Settings, changeSetting, getSettings, getEffectiveConfigurationTarget, validateCwdSetting } from "./settings";
1212
import utils = require("./utils");
@@ -690,7 +690,7 @@ export class SessionManager implements Middleware {
690690
middleware: this,
691691
traceOutputChannel: new LanguageClientTraceFormatter("PowerShell: Trace LSP"),
692692
// This is named the same as the Client log to merge the logs, but will be handled and disposed separately.
693-
outputChannel: new LanguageClientOutputChannelAdapter("PowerShell"),
693+
outputChannel: new PsesMergedOutputChannel("PowerShell"),
694694
revealOutputChannelOn: RevealOutputChannelOn.Never
695695
};
696696

0 commit comments

Comments
 (0)