import { Logger } from '../../common/services/logger.service'; import { InjectableMiddleware, Middleware, InjectableMiddlewareFactory } from './index'; /** * Basic debug logger middleware See [[debugLog]] for usage */ export declare class DebugLogMiddleware implements InjectableMiddleware { protected logger: Logger; constructor(loggerBase: Logger); /** * Creates the debugLog middleware with binding to current class for access to logger * @param messages * @returns {any} */ middlewareFactory(messages: string[]): Middleware; } /** * Logs messages to the Logger implementation when middleware is invoked * Passes through any responses * * Example usage: * ```typescript * @Injectable() * @Controller() * class ExampleController extends AbstractController { * * constructor(server: Server, logger: Logger) { * super(server, logger); * } * * @Route('GET', '/test') * @Before(debugLog('test log input')) * public testMethod(request: Request, response: Response): Response { * return response; * } * * } * ``` * When `GET /test` is called, "test log input" will be logged before the testMethod is invoked * * @param messages * @returns {function(ReflectiveInjector): Middleware} */ export declare function debugLog(...messages: string[]): InjectableMiddlewareFactory;