@duckdb/duckdb-wasm
Version:
DuckDB powered by WebAssembly
62 lines (61 loc) • 2.37 kB
TypeScript
export declare enum LogLevel {
NONE = 0,
DEBUG = 1,
INFO = 2,
WARNING = 3,
ERROR = 4
}
export declare enum LogTopic {
NONE = 0,
CONNECT = 1,
DISCONNECT = 2,
OPEN = 3,
QUERY = 4,
INSTANTIATE = 5
}
export declare enum LogEvent {
NONE = 0,
OK = 1,
ERROR = 2,
START = 3,
RUN = 4,
CAPTURE = 5
}
export declare enum LogOrigin {
NONE = 0,
WEB_WORKER = 1,
NODE_WORKER = 2,
BINDINGS = 3,
ASYNC_DUCKDB = 4
}
export type LogEntry<O, T, E, V> = {
readonly timestamp: Date;
readonly level: LogLevel;
readonly origin: O;
readonly topic: T;
readonly event: E;
readonly value: V;
};
export type ProgressEntry = {
readonly status: string;
readonly percentage: string;
readonly repetitions: string;
};
/** An execution progress handler */
export type ExecutionProgressHandler = (p: ProgressEntry) => void;
export type LogEntryVariant = LogEntry<LogOrigin.BINDINGS, LogTopic.INSTANTIATE, LogEvent.ERROR, string> | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.START, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.OK, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.ERROR, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.CONNECT, LogEvent.OK, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.CONNECT, LogEvent.ERROR, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.DISCONNECT, LogEvent.OK, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.DISCONNECT, LogEvent.ERROR, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.START, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.OK, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.ERROR, void> | LogEntry<LogOrigin.ASYNC_DUCKDB, LogTopic.QUERY, LogEvent.RUN, string>;
export interface Logger {
log(entry: LogEntryVariant): void;
}
export declare class VoidLogger implements Logger {
log(_entry: LogEntryVariant): void;
}
export declare class ConsoleLogger implements Logger {
protected level: LogLevel;
constructor(level?: LogLevel);
log(entry: LogEntryVariant): void;
}
export declare function getLogLevelLabel(level: LogLevel): string;
export declare function getLogEventLabel(event: LogEvent): string;
export declare function getLogTopicLabel(topic: LogTopic): string;
export declare function getLogOriginLabel(origin: LogOrigin): string;