vscode-debugadapter
Version:
Debug adapter implementation for node
51 lines (50 loc) • 1.71 kB
TypeScript
import { OutputEvent } from './debugSession';
export declare enum LogLevel {
Verbose = 0,
Log = 1,
Warn = 2,
Error = 3,
Stop = 4
}
export declare type ILogCallback = (outputEvent: OutputEvent) => void;
export interface ILogger {
log(msg: string, level?: LogLevel): void;
verbose(msg: string): void;
warn(msg: string): void;
error(msg: string): void;
}
export interface IInternalLogger {
dispose(): Promise<void>;
log(msg: string, level: LogLevel, prependTimestamp?: boolean): void;
setup(options: IInternalLoggerOptions): Promise<void>;
}
export interface IInternalLoggerOptions {
consoleMinLogLevel: LogLevel;
logFilePath?: string;
prependTimestamp?: boolean;
}
export declare class Logger {
private _logFilePathFromInit;
private _currentLogger;
private _pendingLogQ;
log(msg: string, level?: LogLevel): void;
verbose(msg: string): void;
warn(msg: string): void;
error(msg: string): void;
dispose(): Promise<void>;
/**
* `log` adds a newline, `write` doesn't
*/
private _write;
/**
* 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
* called the first time, because minLogLevel defaults to Warn.
*/
setup(consoleMinLogLevel: LogLevel, _logFilePath?: string | boolean, prependTimestamp?: boolean): void;
init(logCallback: ILogCallback, logFilePath?: string, logToConsole?: boolean): void;
}
export declare const logger: Logger;
export declare class LogOutputEvent extends OutputEvent {
constructor(msg: string, level: LogLevel);
}
export declare function trimLastNewline(str: string): string;