Skip to content

Commit 74e047c

Browse files
authored
Move logging code to /common/logging and split into multiple files (#1800)
1 parent a9a5d09 commit 74e047c

58 files changed

Lines changed: 100 additions & 94 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

extensions/ql-vscode/src/archive-filesystem-provider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as fs from "fs-extra";
22
import * as unzipper from "unzipper";
33
import * as vscode from "vscode";
4-
import { logger } from "./logging";
4+
import { logger } from "./common";
55

66
// All path operations in this file must be on paths *within* the zip
77
// archive.

extensions/ql-vscode/src/cli-version.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as semver from "semver";
22
import { runCodeQlCliCommand } from "./cli";
3-
import { Logger } from "./logging";
3+
import { Logger } from "./common";
44
import { getErrorMessage } from "./pure/helpers-pure";
55

66
/**

extensions/ql-vscode/src/cli.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {
2222
getErrorStack,
2323
} from "./pure/helpers-pure";
2424
import { QueryMetadata, SortDirection } from "./pure/interface-types";
25-
import { Logger, ProgressReporter } from "./logging";
25+
import { Logger, ProgressReporter } from "./common";
2626
import { CompilationMessage } from "./pure/legacy-messages";
2727
import { sarifParser } from "./sarif-parser";
2828
import { dbSchemeToLanguage, walkDirectory } from "./helpers";

extensions/ql-vscode/src/commandRunner.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
ProgressLocation,
88
} from "vscode";
99
import { showAndLogErrorMessage, showAndLogWarningMessage } from "./helpers";
10-
import { logger } from "./logging";
10+
import { logger } from "./common";
1111
import { getErrorMessage, getErrorStack } from "./pure/helpers-pure";
1212
import { telemetryListener } from "./telemetry";
1313

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from "./logging";
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export * from "./logger";
2+
export * from "./vscode/loggers";
3+
export * from "./vscode/output-channel-logger";
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
export interface LogOptions {
2+
/** If false, don't output a trailing newline for the log entry. Default true. */
3+
trailingNewline?: boolean;
4+
5+
/** If specified, add this log entry to the log file at the specified location. */
6+
additionalLogLocation?: string;
7+
}
8+
9+
export interface Logger {
10+
/** Writes the given log message, optionally followed by a newline. */
11+
log(message: string, options?: LogOptions): Promise<void>;
12+
/**
13+
* Reveal this channel in the UI.
14+
*
15+
* @param preserveFocus When `true` the channel will not take focus.
16+
*/
17+
show(preserveFocus?: boolean): void;
18+
19+
/**
20+
* Remove the log at the specified location
21+
* @param location log to remove
22+
*/
23+
removeAdditionalLogLocation(location: string | undefined): void;
24+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { OutputChannelLogger } from "./output-channel-logger";
2+
3+
/** The global logger for the extension. */
4+
export const logger = new OutputChannelLogger("CodeQL Extension Log");
5+
6+
/** The logger for messages from the query server. */
7+
export const queryServerLogger = new OutputChannelLogger("CodeQL Query Server");
8+
9+
/** The logger for messages from the language server. */
10+
export const ideServerLogger = new OutputChannelLogger(
11+
"CodeQL Language Server",
12+
);
13+
14+
/** The logger for messages from tests. */
15+
export const testLogger = new OutputChannelLogger("CodeQL Tests");

extensions/ql-vscode/src/logging.ts renamed to extensions/ql-vscode/src/common/logging/vscode/output-channel-logger.ts

Lines changed: 3 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,8 @@
11
import { window as Window, OutputChannel, Progress } from "vscode";
2-
import { DisposableObject } from "./pure/disposable-object";
32
import * as fs from "fs-extra";
43
import * as path from "path";
5-
6-
interface LogOptions {
7-
/** If false, don't output a trailing newline for the log entry. Default true. */
8-
trailingNewline?: boolean;
9-
10-
/** If specified, add this log entry to the log file at the specified location. */
11-
additionalLogLocation?: string;
12-
}
13-
14-
export interface Logger {
15-
/** Writes the given log message, optionally followed by a newline. */
16-
log(message: string, options?: LogOptions): Promise<void>;
17-
/**
18-
* Reveal this channel in the UI.
19-
*
20-
* @param preserveFocus When `true` the channel will not take focus.
21-
*/
22-
show(preserveFocus?: boolean): void;
23-
24-
/**
25-
* Remove the log at the specified location
26-
* @param location log to remove
27-
*/
28-
removeAdditionalLogLocation(location: string | undefined): void;
29-
}
30-
31-
export type ProgressReporter = Progress<{ message: string }>;
4+
import { Logger, LogOptions } from "../logger";
5+
import { DisposableObject } from "../../../pure/disposable-object";
326

337
/** A logger that writes messages to an output channel in the Output tab. */
348
export class OutputChannelLogger extends DisposableObject implements Logger {
@@ -128,16 +102,4 @@ class AdditionalLogLocation {
128102
}
129103
}
130104

131-
/** The global logger for the extension. */
132-
export const logger = new OutputChannelLogger("CodeQL Extension Log");
133-
134-
/** The logger for messages from the query server. */
135-
export const queryServerLogger = new OutputChannelLogger("CodeQL Query Server");
136-
137-
/** The logger for messages from the language server. */
138-
export const ideServerLogger = new OutputChannelLogger(
139-
"CodeQL Language Server",
140-
);
141-
142-
/** The logger for messages from tests. */
143-
export const testLogger = new OutputChannelLogger("CodeQL Tests");
105+
export type ProgressReporter = Progress<{ message: string }>;

extensions/ql-vscode/src/compare/compare-view.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
ToCompareViewMessage,
66
QueryCompareResult,
77
} from "../pure/interface-types";
8-
import { Logger } from "../logging";
8+
import { Logger } from "../common";
99
import { CodeQLCliServer } from "../cli";
1010
import { DatabaseManager } from "../databases";
1111
import { jumpToLocation } from "../interface-utils";

0 commit comments

Comments
 (0)