import { LoggerOptions } from 'pino'; import { LOG_LEVEL, DeepstreamPlugin, DeepstreamLogger, DeepstreamConfig, DeepstreamServices, NamespacedLogger, EVENT } from '@deepstream/types'; export declare class PinoLogger extends DeepstreamPlugin implements DeepstreamLogger { private services; description: string; private logger; constructor(pluginOptions: LoggerOptions, services: DeepstreamServices, config: DeepstreamConfig); /** * Return true if logging is enabled. This is used in deepstream to stop generating useless complex strings * that we know will never be logged. */ shouldLog(logLevel: LOG_LEVEL): boolean; /** * Set the log level desired by deepstream. Since deepstream uses LOG_LEVEL this needs to be mapped * to whatever your libary uses (this is usually just conversion stored in a static map) */ setLogLevel(logLevel: LOG_LEVEL): void; /** * Log as info */ info(event: EVENT, message?: string, metaData?: any): void; /** * Log as debug */ debug(event: EVENT, message?: string, metaData?: any): void; /** * Log as warn */ warn(event: EVENT, message?: string, metaData?: any): void; /** * Log as error */ error(event: EVENT, message?: string, metaData?: any): void; /** * Log as fatal */ fatal(event: EVENT, message?: string, metaData?: any): void; /** * Create a namespaced logger, used by plugins. This could either be a new instance of a logger * or just a thin wrapper to add the namespace at the beginning of the log method. */ getNameSpace(namespace: string): NamespacedLogger; private log; }