import Logger from 'bunyan'; /** * The GCP stream: delegates ALL structured-JSON formatting (numeric level → GCP * severity, msg→message, trace/httpRequest fields, stripping name/hostname/pid) * to @google-cloud/logging-bunyan, exactly as the production-tested service does. * Sends to the Cloud Logging API (needs ADC on the instance). * * Records pass through a {@link ChunkingRawStream} first, because Cloud Logging caps a LogEntry at * 256 KiB and rejects the whole `entries.write` call when one entry exceeds it — so a single fat * response body or stack trace can take a batch of good entries down with it. Oversized records are * SPLIT into several complete records sharing a `logChunk.uid` rather than lost or truncated. * * We do NOT filter by level — that is bunyan's job. The stream is created at * bunyan's default level ('info'); there is no webpieces level knob. */ export declare function createGoogleCloudStream(): Logger.Stream; /** * The local dev stream: human-readable text to stdout via {@link writeConsole}. * No level is set — bunyan filters at its own default ('info'). * * `consoleFields`, when given, is the app-chosen ordered ALLOW-LIST of context keys to render in the * console line (hides noise like `requestPath` locally while GCP still gets every logged key). When * omitted, every non-structural context key renders in record order. */ export declare function createConsoleStream(consoleFields?: string[]): Logger.Stream;