@livy/logger
Version:
A Monolog-inspired logging library for Node.js
24 lines (23 loc) • 957 B
TypeScript
import { HandlerInterface, SyncHandlerInterface } from '@livy/contracts/lib/handler-interface';
import { LoggerOptions } from './abstract-logger';
import { AsyncLogger } from './async-logger';
import { MixedLogger } from './mixed-logger';
import { SyncLogger } from './sync-logger';
type AsyncLoggerFactoryOptions = LoggerOptions<HandlerInterface> & {
mode: 'async';
};
type SyncLoggerFactoryOptions = LoggerOptions<SyncHandlerInterface> & {
mode: 'sync';
};
type MixedLoggerFactoryOptions = LoggerOptions<HandlerInterface> & {
mode: 'mixed';
};
export type LoggerFactoryOptions = AsyncLoggerFactoryOptions | SyncLoggerFactoryOptions | MixedLoggerFactoryOptions;
/**
* Create a logger instance
*
* @param name The name of the logger
* @param options The options for the logger
*/
export declare function createLogger(name: string, { mode, ...options }?: Partial<LoggerFactoryOptions>): AsyncLogger | MixedLogger | SyncLogger;
export {};