UNPKG

@energica-city/shared-amplify-utils

Version:

Shared utilities for AWS Amplify projects

35 lines 1.4 kB
import type { Middleware } from '../middlewareChain'; import type { RestInputWithModels, RestRequestLoggerConfig, RestResponse, DefaultModelTypes } from './types'; import type { AmplifyModelType } from '../../queries/types'; /** * Creates REST request logger middleware for comprehensive request/response logging * * Provides structured logging of HTTP requests and responses with configurable detail levels, * timing information, and data sanitization. Supports different log levels and can exclude * sensitive fields from logs. * * @param config - Configuration options for logging behavior * @returns Middleware function that logs requests and responses * * @example * ```typescript * // Basic logging * const logger = createRestRequestLogger({ * logEvent: true, * logResponse: true, * logTiming: true * }); * * // Production logging with sensitive data exclusion * const prodLogger = createRestRequestLogger({ * logRequestBody: false, * excludeEventFields: ['authorization', 'password'], * excludeResponseFields: ['token', 'secret'], * logLevel: 'info' * }); * * chain.use('logger', logger); * ``` */ export declare function createRestRequestLogger<TTypes extends Record<string, AmplifyModelType> = DefaultModelTypes>(config?: RestRequestLoggerConfig): Middleware<RestInputWithModels<TTypes>, RestResponse>; //# sourceMappingURL=RestRequestLogger.d.ts.map