@baseplate-dev/sync
Version:
Library for syncing Baseplate descriptions
33 lines • 1.07 kB
TypeScript
export interface LogMessage {
level: LogLevel;
message: string;
metadata?: {
err?: SerializedError;
[key: string]: unknown;
};
}
export type LogLevel = 'error' | 'warn' | 'info' | 'debug';
export interface Logger {
error(message: unknown): void;
error(obj: object, message?: string): void;
warn(message: string): void;
warn(obj: object, message?: string): void;
info(message: string): void;
info(obj: object, message?: string): void;
debug(message: string): void;
debug(obj: object, message?: string): void;
}
export interface SerializedError {
type: string;
message: string;
stack?: string;
cause?: SerializedError;
[key: string]: unknown;
}
export interface EventedLogger extends Logger {
onMessage(listener: (message: LogMessage) => void): () => void;
onLog(listener: (message: string) => void): () => void;
onError(listener: (message: string) => void): () => void;
}
export declare function createEventedLogger(): EventedLogger;
//# sourceMappingURL=evented-logger.d.ts.map