UNPKG

1.35 kBTypeScriptView Raw
1import { OutputEvent } from './debugSession';
2export declare enum LogLevel {
3 Verbose = 0,
4 Log = 1,
5 Warn = 2,
6 Error = 3,
7 Stop = 4
8}
9export declare type ILogCallback = (outputEvent: OutputEvent) => void;
10export interface ILogger {
11 log(msg: string, level?: LogLevel): void;
12 verbose(msg: string): void;
13 warn(msg: string): void;
14 error(msg: string): void;
15}
16export declare class Logger {
17 private _logFilePathFromInit;
18 private _currentLogger;
19 private _pendingLogQ;
20 log(msg: string, level?: LogLevel): void;
21 verbose(msg: string): void;
22 warn(msg: string): void;
23 error(msg: string): void;
24 dispose(): Promise<void>;
25 /**
26 * `log` adds a newline, `write` doesn't
27 */
28 private _write;
29 /**
30 * Set the logger's minimum level to log in the console, and whether to log to the file. Log messages are queued before this is
31 * called the first time, because minLogLevel defaults to Warn.
32 */
33 setup(consoleMinLogLevel: LogLevel, _logFilePath?: string | boolean): void;
34 init(logCallback: ILogCallback, logFilePath?: string, logToConsole?: boolean): void;
35}
36export declare const logger: Logger;
37export declare class LogOutputEvent extends OutputEvent {
38 constructor(msg: string, level: LogLevel);
39}
40export declare function trimLastNewline(str: string): string;