UNPKG

@neodx/log

Version:

A lightweight universal logging framework

1 lines 1.36 kB
{"version":3,"file":"koa.mjs","sources":["../src/koa.ts"],"sourcesContent":["import type { Context, Next } from 'koa';\nimport type { Logger } from './core/types';\nimport type { HttpLoggerParams, HttpLogLevels } from './http';\nimport { createHttpLogger } from './http';\n\ndeclare module 'koa' {\n export interface ExtendableContext {\n log: Logger<HttpLogLevels>;\n }\n export interface Request {\n log: Logger<HttpLogLevels>;\n }\n export interface Response {\n log: Logger<HttpLogLevels>;\n }\n}\n\nexport function createKoaLogger(params?: HttpLoggerParams) {\n const http = createHttpLogger(params);\n\n return async function koaLogger(ctx: Context, next: Next) {\n ctx.log = ctx.request.log = ctx.response.log = ctx.req.log;\n http(ctx.req, ctx.res);\n return next().catch(error => {\n ctx.res.err = error;\n throw error;\n });\n };\n}\n"],"names":["createKoaLogger","params","http","createHttpLogger","ctx","next","log","request","response","req","res","catch","error","err"],"mappings":"oDAiBO,SAASA,EAAgBC,CAAyB,EACvD,IAAMC,EAAOC,EAAiBF,GAE9B,OAAO,eAAyBG,CAAY,CAAEC,CAAU,EAGtD,OAFAD,EAAIE,GAAG,CAAGF,EAAIG,OAAO,CAACD,GAAG,CAAGF,EAAII,QAAQ,CAACF,GAAG,CAAGF,EAAIK,GAAG,CAACH,GAAG,CAC1DJ,EAAKE,EAAIK,GAAG,CAAEL,EAAIM,GAAG,EACdL,IAAOM,KAAK,CAACC,AAAAA,IAElB,MADAR,EAAIM,GAAG,CAACG,GAAG,CAAGD,EACRA,CACR,EACF,CACF"}