/** * @file * Log untilies for development builds. In production builds, these functions are no-ops. * * The `log` function can be used to log messages of varying severity, and the `logOnce` function can be used to log a message only once per unique key. * * logger is opt-in - if `window.splunkui.logLevel` is not set, no messages will be logged. * * The log level can be configured by setting `window.splunkui.logLevel` to one of 'debug', 'log', 'warn', 'error', or 'fatal'. * If the log level is set, only messages with that level or higher severity will be logged. * */ /** * @public */ declare const consoleMethods: readonly ["debug", "log", "warn", "error"]; export type ConsoleType = (typeof consoleMethods)[number]; declare const logLevels: readonly ["debug", "log", "warn", "error", "fatal"]; export type LogLevel = (typeof logLevels)[number]; export type loggerOptions = { logLevel?: LogLevel; }; export type loggerWindow = Window & { splunkui?: loggerOptions; }; /** * Gets the current node environment, ie. 'development', 'production', etc. * @returns The current node environment string */ export declare function getNodeEnv(): string | undefined; /** * In a development environment, logs a message to the console if it hasn't been logged. * This should be used in singleton components or situations where the warning may be needlessly releated. * Inside `react` components, use `log()` with a `useEffect` to log once per component instance. * @param type The type of console method to use ('log', 'warn', 'error') * @param message The message to log * @param {key} Unique key to identify the message (defaults to the message itself) * @returns true if the message was logged, false otherwise * @public */ export declare function logOnce(type: ConsoleType, message: string, key?: string): boolean; /** * In a development environment, logs a message to the console. * @param type The type of console method to use ('log', 'warn', 'error') * @param message The message to log * @returns true if the message was logged, false otherwise * @public */ export declare function log(type: ConsoleType | 'fatal', message: string): boolean; export {};