edge-master
Version:
A Micro Framework for Edges
45 lines (44 loc) • 1.23 kB
TypeScript
import { IRequestInterceptor, IResponseInterceptor } from '../types/interceptor';
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
export interface LoggingOptions {
/**
* Minimum log level to output
* @default 'info'
*/
level?: LogLevel;
/**
* Custom logger function
* @default console.log
*/
logger?: (level: LogLevel, message: string, data?: any) => void;
/**
* Whether to log request details
* @default true
*/
logRequest?: boolean;
/**
* Whether to log response details
* @default true
*/
logResponse?: boolean;
/**
* Whether to log timing information
* @default true
*/
logTiming?: boolean;
}
/**
* Creates a request logging interceptor
*/
export declare function requestLoggingInterceptor(options?: LoggingOptions): IRequestInterceptor;
/**
* Creates a response logging interceptor
*/
export declare function responseLoggingInterceptor(options?: LoggingOptions): IResponseInterceptor;
/**
* Creates both request and response logging interceptors
*/
export declare function loggingInterceptor(options?: LoggingOptions): {
request: IRequestInterceptor;
response: IResponseInterceptor;
};