Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/serayaeryn/fastify-access-logger
an access logger plugin for fastify
https://github.com/serayaeryn/fastify-access-logger
Last synced: 13 days ago
JSON representation
an access logger plugin for fastify
- Host: GitHub
- URL: https://github.com/serayaeryn/fastify-access-logger
- Owner: SerayaEryn
- License: mit
- Created: 2019-01-02T16:59:13.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-15T14:51:35.000Z (over 4 years ago)
- Last Synced: 2024-10-10T08:41:20.446Z (2 months ago)
- Language: JavaScript
- Size: 20.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fastify-access-logger
[![Build Status](https://travis-ci.org/SerayaEryn/fastify-access-logger.svg?branch=master)](https://travis-ci.org/SerayaEryn/fastify-access-logger)
[![Coverage Status](https://coveralls.io/repos/github/SerayaEryn/fastify-access-logger/badge.svg?branch=master)](https://coveralls.io/github/SerayaEryn/fastify-access-logger?branch=master)
[![NPM version](https://img.shields.io/npm/v/fastify-access-logger.svg?style=flat)](https://www.npmjs.com/package/fastify-access-logger)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)An access logger plugin for [fastify](http://fastify.io/).
## Installation
```
npm i fastify-access-logger
```## Example
```js
const fastifyAccessLogger = require('fastify-access-logger')
const fastify = require('fastify')()const options = {
transports: [process.stdout]
}
fastify.register(fastifyAccessLogger, options)
fastify.get('/test', (request, reply) => {
reply.send(200)
})fastify.listen(3000)
```## API
### fastifyAccessLogger(fastify, options, next)
The access logger plugin logs a line for every request with information about it:
```
127.0.0.1 [02/Jan/2019:17:37:12 +0100] GET /test - 200 3 3
```
The access logger plugin accepts the following options:#### transports
An array of [Writable](https://nodejs.org/api/stream.html#stream_class_stream_writable) streams.
#### format (optional)
Allows to specify a custom format.
The following tokens are supported:| Token | Description |
| ------------- | -------------------------- |
| IP | The ip address |
| DATE | The formatted date |
| METHOD | The http request method |
| URL | The url without parameters |
| PARAMETERS | The url parameters |
| STATUS | The status code |
| DURATION | The duration of the request in milliseconds |
| SIZE | The size of the payload |Defaults to `IP DATE METHOD URL PARAMETERS STATUS DURATION SIZE`.
#### dateFormat (optional)
The date format used to format the date token. Defaults to `[[]DD/MMM/YYYY:HH:mm:ss Z[]]`.
Supports all formating options of [fast-date-format](https://github.com/SerayaEryn/fast-date-format).## License
[MIT](./LICENSE)