UNPKG

probot

Version:

A framework for building GitHub Apps to automate and improve your workflow

21 lines (20 loc) • 871 B
import { randomUUID as uuidv4 } from "node:crypto"; import { pinoHttp, startTime } from "pino-http"; export function httpLogger(logger, options) { // pino-http augments `http`, while the public API uses the equivalent `node:http` types. return pinoHttp({ ...options, logger: logger.child({ name: "http" }), customSuccessMessage(req, res) { const responseTime = Date.now() - res[startTime]; return `${req.method} ${req.url} ${res.statusCode} - ${responseTime}ms`; }, customErrorMessage(req, res, _err) { const responseTime = Date.now() - res[startTime]; return `${req.method} ${req.url} ${res.statusCode} - ${responseTime}ms`; }, genReqId: (req) => req.headers["x-request-id"] || req.headers["x-github-delivery"] || uuidv4(), }); }