UNPKG

probot

Version:

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

30 lines (29 loc) 973 B
/** * A logger backed by [pino](https://getpino.io/) * * The default log level is `info`, but you can change it passing a level * string set to one of: `"trace"`, `"debug"`, `"info"`, `"warn"`, * `"error"`, or `"fatal"`. * * ```js * app.log.debug("…so is this"); * app.log.trace("Now we're talking"); * app.log.info("I thought you should know…"); * app.log.warn("Woah there"); * app.log.error("ETOOMANYLOGS"); * app.log.fatal("Goodbye, cruel world!"); * ``` */ import pino, {} from "pino"; import { getTransformStream } from "@probot/pino"; export async function getLog(options = {}) { const { level, logMessageKey, ...getTransformStreamOptions } = options; const pinoOptions = { level: level || "info", name: "probot", messageKey: logMessageKey || "msg", }; const transform = await getTransformStream(getTransformStreamOptions); transform.pipe(pino.destination(1)); return pino(pinoOptions, transform); }