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/logsOptions 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:
| Pino | Oleq type |
|---|---|
10 | trace |
20 | debug |
30 | info |
40 | warn |
50 | error |
60 | fatal |
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.