express-influxdb-logger

Express logging middleware for InfluxDB syslog

Usage no npm install needed!

<script type="module">
  import expressInfluxdbLogger from 'https://cdn.skypack.dev/express-influxdb-logger';
</script>

README

express-influxdb-logger

express-influxdb-logger is an Express middleware that can be used to log info on all HTTP requests to an InfluxDB instance.

Getting Started

const express = require('express');
const createInfluxDBLogger = require('express-influxdb-logger');

const app = express();
app.use(createInfluxDBLogger({
  host: 'my-influxdb-server.host',
  port: 8086,
  database: 'database_name',
  username: 'influxdb_user',
  password: 'influxdb_password,
}));

// Then declare your route handlers below.

Configuration

The following options are accepted when creating an instance of the InfluxDB logger:

  • host: hostname of your InfluxDB server (required)
  • port: port on which the InfluxDB's HTTP server listens on (required)
  • database: name of the database to log to (required)
  • protocol: either 'http' or 'https' (required, default: https)
  • username: username to authenticate with if the server requires
  • password: password to authenticate with if the server requires
  • flushAfter: send log lines to the database in batches of this number (default: 5)
  • flushInterval: send log lines to the database after this number of milliseconds max (default: 10000)

Note the flushAfter and flushInterval config values work together. By default, a batch will be sent to the server every time it has least 5 log entries in it, OR after 10 seconds of staleness at the longest.

Credits

A TypeScript fork and extension of influx-express.