docker-stream-cleanser
v1.0.1
Published
This module cleans the docker headers from the log stream from a container. I never found them very useful, so I wrote this to clean them up either in bulk, or in between a piping. It's not as simple as just removing the first 8 bytes on every message
Downloads
52
Readme
Docker Stream Cleanser
Docker Stream Cleanser is a drop-in module to clean the headers from Docker Logs (container attach or container logs)
- Removes headers from a Docker logs streams and keeps payload
- Handles any encoding (Ones compatible with Node.js Buffer)
Seeing weird characters at the beginning of each line coming from your Docker container's log stream? This will clear that right up! Docker places a header on each message to help you determine which stream (stdout or stderr) a message should belong to. Thanks Docker, but I just want to read the output! Since there is no setting to turn off this functionality, I wrote this.
More info on Docker's Container Logs
Usage
Usage with Docker Data Stream
const StreamCleanser = require('docker-stream-cleanser');
const streamCleanser = new StreamCleanser()
dockerLogStream
.pipe(streamCleanser)
.pipe(/* stream */);
Usage with Dockerode
const Docker = require('dockerode');
const container = new Docker().getContainer(containerId);
const StreamCleanser = require('docker-stream-cleanser');
const streamCleanser = new StreamCleanser()
container.logs({ stderr: true, stdout: true }, function (err, stream) {
stream
.pipe(streamCleanser)
.pipe(/* stream */);
});
Installation
npm install docker-stream-cleanser --save
License
MIT