probot
Version:
A framework for building GitHub Apps to automate and improve your workflow
30 lines (29 loc) • 973 B
JavaScript
/**
* 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);
}