@elastic/ecs-winston-format

This Node.js package provides a formatter for the
winston logger compatible with
Elastic Common Schema (ECS) logging.
In combination with the filebeat
shipper, you can send your logs directly to Elasticsearch and leverage
Kibana's Logs app
to inspect all logs in one single place.
winston
3.x versions are supported.
Please see the Node.js ECS winston documentation.
Install
npm install @elastic/ecs-winston-format
Usage
const winston = require('winston');
const { ecsFormat } = require('@elastic/ecs-winston-format');
const logger = winston.createLogger({
level: 'info',
format: ecsFormat(),
transports: [
new winston.transports.Console()
]
});
logger.info('hi');
logger.error('oops there is a problem', { foo: 'bar' });
Running this script will produce log output similar to the following:
% node examples/basic.js
{"@timestamp":"2021-01-13T21:32:38.095Z","log.level":"info","message":"hi","ecs":{"version":"8.10.0"}}
{"@timestamp":"2021-01-13T21:32:38.096Z","log.level":"error","message":"oops there is a problem","ecs":{"version":"8.10.0"},"foo":"bar"}
Please see the Node.js ECS winston documentation for more.
License
This software is licensed under the Apache 2 license.