import { MethodHandler, SupportedOutput } from './logger'; import { LogLevel } from './logLevels'; type CreateJsonLoggerOptions = { enabledLogLevels?: LogLevel[]; }; /** * Creates a logger preset that writes one JSON object per line to * `process.stdout`. Each entry includes the level label, an ISO timestamp, the * joined message, and the context (when non-empty). `Error` values are * serialized to `{ message, stack }`. Messages below the enabled threshold are * skipped. * * @param options - Configuration for the JSON logger * @param options.enabledLogLevels - Levels that should be emitted; defaults to * {@link defaultEnabledLogLevels} (error, warn, success, info) * @returns A logger with one method per {@link LogLevel} label * @example * ```typescript * const logger = createJsonLogger() * logger.withContext({ requestId: "req-1" }).info("request handled") * // {"level":"info","timestamp":"...","message":"request handled","context":{"requestId":"req-1"}} * ``` */ declare function createJsonLogger({ enabledLogLevels }?: CreateJsonLoggerOptions): import('./logger').Logger<{}, { error: MethodHandler; warn: MethodHandler; success: MethodHandler; info: MethodHandler; verbose: MethodHandler; debug: MethodHandler; }>; /** * The logger type produced by {@link createJsonLogger}. */ type JsonLogger = ReturnType; export { createJsonLogger, type JsonLogger }; //# sourceMappingURL=jsonLogger.d.ts.map