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
var streamCleanser = require('docker-stream-cleanser')();
dockerLogStream
.pipe(streamCleanser)
.pipe();
Usage with Dockerode
var Docker = require('dockerode');
var container = new Docker().getContainer(containerId);
var streamCleanser = require('docker-stream-cleanser')();
container.logs({ stderr: true, stdout: true }, function (err, stream) {
stream
.pipe(streamCleanser)
.pipe();
});
Usage with Docker Data Buffer
var streamCleanser = require('docker-stream-cleanser')();
var concat = require('concat-stream');
streamCleanser
.pipe(concat(function (cleanDockerData) {
}));
streamCleanser.write(dockerDataBuffer);
streamCleanser.end();
Installation
npm install docker-stream-cleanser --save
License
MIT