@pkerschbaum/code-oss-file-service
Version:
VS Code ([microsoft/vscode](https://github.com/microsoft/vscode)) includes a rich "`FileService`" and "`DiskFileSystemProvider`" abstraction built on top of Node.js core modules (`fs`, `path`) and Electron's `shell` module. This package allows to use that
177 lines • 7 kB
TypeScript
import { Event } from '../../../base/common/event';
import { Disposable, IDisposable } from '../../../base/common/lifecycle';
import { URI } from '../../../base/common/uri';
export declare enum LogLevel {
Trace = 0,
Debug = 1,
Info = 2,
Warning = 3,
Error = 4,
Critical = 5,
Off = 6
}
export declare const DEFAULT_LOG_LEVEL: LogLevel;
export interface ILogger extends IDisposable {
onDidChangeLogLevel: Event<LogLevel>;
getLevel(): LogLevel;
setLevel(level: LogLevel): void;
trace(message: string, ...args: any[]): void;
debug(message: string, ...args: any[]): void;
info(message: string, ...args: any[]): void;
warn(message: string, ...args: any[]): void;
error(message: string | Error, ...args: any[]): void;
critical(message: string | Error, ...args: any[]): void;
/**
* An operation to flush the contents. Can be synchronous.
*/
flush(): void;
}
export declare function log(logger: ILogger, level: LogLevel, message: string): void;
export declare function format(args: any): string;
export interface ILogService extends ILogger {
readonly _serviceBrand: undefined;
}
export interface ILoggerOptions {
/**
* Name of the logger.
*/
name?: string;
/**
* Do not create rotating files if max size exceeds.
*/
donotRotate?: boolean;
/**
* Do not use formatters.
*/
donotUseFormatters?: boolean;
/**
* If set, logger logs the message always.
*/
always?: boolean;
}
export interface ILoggerService {
readonly _serviceBrand: undefined;
/**
* Creates a logger, or gets one if it already exists.
*/
createLogger(file: URI, options?: ILoggerOptions): ILogger;
/**
* Gets an existing logger, if any.
*/
getLogger(file: URI): ILogger | undefined;
}
export declare abstract class AbstractLogger extends Disposable {
private level;
private readonly _onDidChangeLogLevel;
readonly onDidChangeLogLevel: Event<LogLevel>;
setLevel(level: LogLevel): void;
getLevel(): LogLevel;
}
export declare abstract class AbstractMessageLogger extends AbstractLogger implements ILogger {
private readonly logAlways?;
protected abstract log(level: LogLevel, message: string): void;
constructor(logAlways?: boolean | undefined);
private checkLogLevel;
trace(message: string, ...args: any[]): void;
debug(message: string, ...args: any[]): void;
info(message: string, ...args: any[]): void;
warn(message: string, ...args: any[]): void;
error(message: string | Error, ...args: any[]): void;
critical(message: string | Error, ...args: any[]): void;
flush(): void;
}
export declare class ConsoleMainLogger extends AbstractLogger implements ILogger {
private useColors;
constructor(logLevel?: LogLevel);
trace(message: string, ...args: any[]): void;
debug(message: string, ...args: any[]): void;
info(message: string, ...args: any[]): void;
warn(message: string | Error, ...args: any[]): void;
error(message: string, ...args: any[]): void;
critical(message: string, ...args: any[]): void;
dispose(): void;
flush(): void;
}
export declare class ConsoleLogger extends AbstractLogger implements ILogger {
constructor(logLevel?: LogLevel);
trace(message: string, ...args: any[]): void;
debug(message: string, ...args: any[]): void;
info(message: string, ...args: any[]): void;
warn(message: string | Error, ...args: any[]): void;
error(message: string, ...args: any[]): void;
critical(message: string, ...args: any[]): void;
dispose(): void;
flush(): void;
}
export declare class AdapterLogger extends AbstractLogger implements ILogger {
private readonly adapter;
constructor(adapter: {
log: (logLevel: LogLevel, args: any[]) => void;
}, logLevel?: LogLevel);
trace(message: string, ...args: any[]): void;
debug(message: string, ...args: any[]): void;
info(message: string, ...args: any[]): void;
warn(message: string | Error, ...args: any[]): void;
error(message: string | Error, ...args: any[]): void;
critical(message: string | Error, ...args: any[]): void;
private extractMessage;
dispose(): void;
flush(): void;
}
export declare class MultiplexLogService extends AbstractLogger implements ILogService {
private readonly logServices;
readonly _serviceBrand: undefined;
constructor(logServices: ReadonlyArray<ILogger>);
setLevel(level: LogLevel): void;
trace(message: string, ...args: any[]): void;
debug(message: string, ...args: any[]): void;
info(message: string, ...args: any[]): void;
warn(message: string, ...args: any[]): void;
error(message: string | Error, ...args: any[]): void;
critical(message: string | Error, ...args: any[]): void;
flush(): void;
dispose(): void;
}
export declare class LogService extends Disposable implements ILogService {
private logger;
readonly _serviceBrand: undefined;
constructor(logger: ILogger);
get onDidChangeLogLevel(): Event<LogLevel>;
setLevel(level: LogLevel): void;
getLevel(): LogLevel;
trace(message: string, ...args: any[]): void;
debug(message: string, ...args: any[]): void;
info(message: string, ...args: any[]): void;
warn(message: string, ...args: any[]): void;
error(message: string | Error, ...args: any[]): void;
critical(message: string | Error, ...args: any[]): void;
flush(): void;
}
export declare abstract class AbstractLoggerService extends Disposable implements ILoggerService {
private logLevel;
readonly _serviceBrand: undefined;
private readonly loggers;
private readonly logLevelChangeableLoggers;
constructor(logLevel: LogLevel, onDidChangeLogLevel: Event<LogLevel>);
getLogger(resource: URI): ILogger | undefined;
createLogger(resource: URI, options?: ILoggerOptions): ILogger;
dispose(): void;
protected abstract doCreateLogger(resource: URI, logLevel: LogLevel, options?: ILoggerOptions): ILogger;
}
export declare class NullLogService implements ILogService {
readonly _serviceBrand: undefined;
readonly onDidChangeLogLevel: Event<LogLevel>;
setLevel(level: LogLevel): void;
getLevel(): LogLevel;
trace(message: string, ...args: any[]): void;
debug(message: string, ...args: any[]): void;
info(message: string, ...args: any[]): void;
warn(message: string, ...args: any[]): void;
error(message: string | Error, ...args: any[]): void;
critical(message: string | Error, ...args: any[]): void;
dispose(): void;
flush(): void;
}
export declare function parseLogLevel(logLevel: string): LogLevel | undefined;
export declare function LogLevelToString(logLevel: LogLevel): string;
//# sourceMappingURL=log.d.ts.map