/** * Copyright Valkey GLIDE Project Contributors - SPDX Identifier: Apache-2.0 */ export type LevelOptions = "error" | "warn" | "info" | "debug" | "trace" | "off"; /** * A singleton class that allows logging which is consistent with logs from the internal GLIDE core. * The logger can be set up in 2 ways - * 1. By calling {@link init}, which configures the logger only if it wasn't previously configured. * 2. By calling {@link setLoggerConfig}, which replaces the existing configuration, and means that new logs * will not be saved with the logs that were sent before the call. The previous logs will remain unchanged. * If none of these functions are called, the first log attempt will initialize a new logger with default configuration. */ export declare class Logger { private static _instance; private static logger_level; private constructor(); /** * Logs the provided message if the provided log level is lower then the logger level. * * @param logLevel - The log level of the provided message. * @param logIdentifier - The log identifier should give the log a context. * @param message - The message to log. * @param err - The exception or error to log. */ static log(logLevel: LevelOptions, logIdentifier: string, message: string, err?: Error): void; /** * Initialize a logger if it wasn't initialized before - this method is meant to be used when there is no intention to * replace an existing logger. * The logger will filter all logs with a level lower than the given level. * If given a fileName argument, will write the logs to files postfixed with fileName. If fileName isn't provided, * the logs will be written to the console. * * @param level - Set the logger level to one of [ERROR, WARN, INFO, DEBUG, TRACE, OFF]. * If log level isn't provided, the logger will be configured with default configuration. * To turn off logging completely, set the level to level "off". * @param fileName - If provided the target of the logs will be the file mentioned. * Otherwise, logs will be printed to the console. */ static init(level?: LevelOptions, fileName?: string): void; /** * Creates a new logger instance and configure it with the provided log level and file name. * * @param level - Set the logger level to one of [ERROR, WARN, INFO, DEBUG, TRACE, OFF]. * @param fileName - The target of the logs will be the file mentioned. */ static setLoggerConfig(level: LevelOptions, fileName?: string): void; }