Skip to content
This repository has been archived by the owner on Aug 21, 2024. It is now read-only.

ailohq/koa-logger-middleware

 
 

Repository files navigation

@ailo/koa-logger-middleware

A logger middleware for koa2 with color and customizable logger as winstonjs.

Koa logger middleware

Usage example

yarn add koa-logger-middleware
import { koaLoggerMiddleware } from "koa-logger-middleware";

app.use(
  koaLoggerMiddleware({
    logger: Logger.logAs("koa"),
  })
);

Options

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

Development

yarn
yarn start

Testing

yarn lint # prettier and eslint
yarn test # unit tests
yarn test:watch # unit tests in watch mode

Releasing

yarn release # will automatically ask you about version bump, run tests and build, and push new version to git & npm

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 57.2%
  • Nix 39.0%
  • JavaScript 2.9%
  • Shell 0.9%