Oleqlog

Pino transport

Stream Pino logs to Oleqlog with @oleq-ai/logs/pino

Use the same package as a Pino worker transport. Install pino alongside the SDK:

bun add pino @oleq-ai/logs

Options match OleqLog (appName, apiKey, baseUrl, …) and are passed via transport.options.

Basic setup

import pino from "pino";

const logger = pino(
  pino.transport({
    target: "@oleq-ai/logs/pino",
    options: {
      appName: "my-app",
    },
  }),
);

logger.info({ userId: 9 }, "server started");
logger.error({ err: new Error("timeout") }, "payment failed");

Level mapping

Pino numeric levels map to Oleq type:

PinoOleq type
10trace
20debug
30info
40warn
50error
60fatal

msg becomes message. Other fields land in body. You can still set kind: "req" | "res" on the log object.

NestJS + Pino

If your Nest app already uses nestjs-pino, point the transport target at @oleq-ai/logs/pino and pass appName in options. Keep OLEQLOG_API_KEY in server env only.

Back: Usage · Adapters · Examples

On this page