import { ILogger } from '../controls/interfaces/ILogger'; /** * Default Logger Implementation. * * This wraps the Debug object from npm 'Debug' package to provide "log-levels". * The log-levels are handled as top-level namespaces. * * Examples * ``` * export DEBUG="error:*" -> Log 'error' messages from every module * export DEBUG="error:moduleA" -> Log 'error' messages for moduleA only * export DEBUG="error:*, warn:*, info:*, debug:*" -> Log everything * ``` * * See https://www.npmjs.com/package/debug for more information on * configuration. * * When instantiated for a given "moduleName", this object provides an `error()` * function that logs with amended name "error:moduleName". Likewise for `warn()`, * `info()`, and `debug()`. */ export declare class DefaultLogger implements ILogger { moduleName: string; constructor(moduleName: string); /** * Log a message as an "error". * @param message - Message */ error(message: string): void; /** * Log a message as an "warning". * @param message - Message */ warn(message: string): void; /** * Log a message as an "informational" message. * @param message - Message */ info(message: string): void; /** * Log a message as an "low-level debug message". * @param message - Message */ debug(message: string): void; /** * Log an object with pretty print formatting and also * masking sensitive information if required * * @param id - Unique label. * @param object - Object to be logged */ logObject(logLevel: string, id: string, object: any, stringify?: true): void; /** * Function that returns string with actual message if sensitive logging is * turned off or returns special character string masking the information. * * @param message - Logging message * * Eg: When sensitive logging is turned on * "env": \{ * "ASK_SDK_RESTRICTIVE_LOGGING": "true" * \} * * All messages which are wrapped around `sanitize()` in log.info for example * are masked using special characters. */ sanitize(message: any): string; } //# sourceMappingURL=DefaultLogger.d.ts.map