A logger middleware for koa2 with color and customizable logger as winstonjs.
yarn add koa-logger-middleware
import { koaLoggerMiddleware } from "koa-logger-middleware";
app.use(
koaLoggerMiddleware({
logger: Logger.logAs("koa"),
})
);
To see all option refer to src/index.ts
file.
-
logger: [Object] - eg: winstonjs, by default is console with coloration.
const winstonLogger = winston.createLogger({ level: "info", format: winston.format.json(), transports: [ new winston.transports.Console({ format: winston.format.simple(), colorize: true, }), ], }); koaLoggerMiddleware({ logger: winstonLogger });
-
onStartFormat: [Function] - format the string to log on request start:
koaLoggerMiddleware({ onStartFormat(ctx) { const { start } = ctx.__logger; return `START: ${this.dateFormat(start)} - ${ctx.method} ${ctx.url}`; }, });
-
onErrorFormat: [Function] - same as onStartFormat but when error occurred
-
onEndFormat: [Function] - same as onStartFormat but on response end
yarn
yarn start
yarn lint # prettier and eslint
yarn test # unit tests
yarn test:watch # unit tests in watch mode
yarn release # will automatically ask you about version bump, run tests and build, and push new version to git & npm