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. Provide the result through
an integration's adapters.logger.
Reach for this to ship logs somewhere specific. To print to the console, set logging on createKizlo instead.
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
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:
import { createIntegration, createKizlo } from "kizlo"
import { logger } from "../adapters/logger"
const observability = createIntegration({ id: "observability", adapters: { logger } })
export const { client, handler } = createKizlo({
integrations: [observability],
})