Skip to content

Commit 468c4a2

Browse files
authored
Add logger to the app container (#1874)
1 parent 18423ca commit 468c4a2

4 files changed

Lines changed: 18 additions & 0 deletions

File tree

extensions/ql-vscode/src/common/app.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import { Disposable } from "../pure/disposable-object";
22
import { AppEventEmitter } from "./events";
3+
import { Logger } from "./logging";
34

45
export interface App {
56
createEventEmitter<T>(): AppEventEmitter<T>;
67
executeCommand(command: string, ...args: any): Thenable<void>;
78
mode: AppMode;
9+
logger: Logger;
810
subscriptions: Disposable[];
911
extensionPath: string;
1012
globalStoragePath: string;

extensions/ql-vscode/src/common/vscode/vscode-app.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import * as vscode from "vscode";
22
import { Disposable } from "../../pure/disposable-object";
33
import { App, AppMode } from "../app";
44
import { AppEventEmitter } from "../events";
5+
import { extLogger, Logger } from "../logging";
56
import { VSCodeAppEventEmitter } from "./events";
67

78
export class ExtensionApp implements App {
@@ -36,6 +37,10 @@ export class ExtensionApp implements App {
3637
}
3738
}
3839

40+
public get logger(): Logger {
41+
return extLogger;
42+
}
43+
3944
public createEventEmitter<T>(): AppEventEmitter<T> {
4045
return new VSCodeAppEventEmitter<T>();
4146
}

extensions/ql-vscode/test/__mocks__/appMock.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { App, AppMode } from "../../src/common/app";
22
import { AppEvent, AppEventEmitter } from "../../src/common/events";
33
import { Disposable } from "../../src/pure/disposable-object";
4+
import { createMockLogger } from "./loggerMock";
45

56
export function createMockApp({
67
extensionPath = "/mock/extension/path",
@@ -17,6 +18,7 @@ export function createMockApp({
1718
}): App {
1819
return {
1920
mode: AppMode.Test,
21+
logger: createMockLogger(),
2022
subscriptions: [],
2123
extensionPath,
2224
workspaceStoragePath,
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { Logger } from "../../src/common";
2+
3+
export function createMockLogger(): Logger {
4+
return {
5+
log: jest.fn(() => Promise.resolve()),
6+
show: jest.fn(),
7+
removeAdditionalLogLocation: jest.fn(),
8+
};
9+
}

0 commit comments

Comments
 (0)