2.0.0 • Published 4 years ago

koa-api-logger v2.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

koa-api-logger

npm npm npm codecov Travis-CI

中文说明

Usage

Install

yarn add koa-api-logger
# or
npm i -S koa-api-logger

Use

const Koa = require('koa');
const router = require('koa-router')();
const logger = require('koa-api-logger');

const app = new Koa();

app.use(
  logger({
    // options
  })
);

router.get('/user/:name', ctx => {
  ctx.body = name;
});

app.use(router.routes()).use(router.allowedMethods());

app.listen(3000);

Options

{
  err: async (ctx, err) => {
    // codes to handle error
  },
  // Such as: ['/upload']
  ignore: [],
  redis: {
    host: '127.0.0.1',
    port: 6379,
    db: 0, // db to store
    keyPrefix: 'kal:', // redis store prefix
    ttl: 86400 * 180 // saving logs for 180 days
  }
}

Design

Redis Hash Table

key:20170808

keyval
total{count:1,success:1,avg:1,max:1,min:1}
/#{path}{count:1,success:1,avg:1,max:1,min:1}

Monitor

const monitor = require('koa-api-logger/monitor');
const appName = monitor({
  host: '127.0.0.1',
  port: 6379,
  db: 0,
  keyPrefix: 'kal:'
});

appName('20170808').then(data => console.log);
/* like:
[
  {
    key: 'total',
    data: { count: 2, success: 2, avg: 0.5, max: 1, min: 0 }
  },
  {
    key: 'GET::/user/:name',
    data: { count: 3, success: 3, avg: 0.3333333333333333, max: 1, min: 0 }
  }
]
*/

History:

appName.history().then(data => console.log);
/* like:
[
 '20170504',
 '20170505'
]
*/

License

MIT

Donate Via Alipay:

qr

2.0.0

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.1

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.6

4 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.0.1

7 years ago

0.0.0

7 years ago