Docs
Functions

createLoggerAdapter

Build a custom logger adapter that receives Kizlo's log records.

createLoggerAdapter declares a custom logger adapter, typed against the LoggerAdapter contract. Kizlo calls it with a structured record for every log; forward each one to your platform's logging SDK. Register the result on createKizlo's adapters.logger.

Reach for this to ship logs somewhere specific. To print to the console, use the prebuilt consoleLog adapter instead. That one lives in the adapter guides, not here.

Parameters

createLoggerAdapter(adapter)

adapter

The handler, (payload: LogPayload) => void | Promise<void>. It receives one record per log call and does whatever your platform needs (write, forward, drop). Apply any level filtering inside the handler.

The record:

Prop

Type

Returns

The handler, unchanged. createLoggerAdapter only attaches the LoggerAdapter type so you get inference and one documented entry point.

Examples

src/lib/kizlo/adapters/logger.ts
import { createLoggerAdapter } from "kizlo"
import { logtail } from "../logtail"

export const logger = createLoggerAdapter((payload) => {
  logtail.log(payload.level, payload.message, {
    ...payload.context,
    error: payload.error,
    timestamp: payload.timestamp,
  })
})

Register it:

src/lib/kizlo/server/index.ts
import { createKizlo } from "kizlo"
import { logger } from "../adapters/logger"

export const { client, handler } = createKizlo({
  adapters: { logger },
})

On this page