Public | Automated Build

Last pushed: 2 months ago
Short Description
Short description is empty for this repo.
Full Description


Collect all the logs from all docker containers


As a command line tool:

npm install docker-loghose -g

Embedded usage

npm install docker-loghose --save

Embedded Usage

var loghose = require('docker-loghose')
var through = require('through2')
var opts = {
  json: false, // parse the lines that are coming as JSON
  docker: null, // here goes options for Dockerode
  events: null, // an instance of docker-allcontainers
  newline: false, // Break stream in newlines

  // Logs from the container, running docker-loghose are excluded by default.
  // It could create endless loops, when the same logs are written to stdout...
  // To get all logs set includeCurrentContainer to 'true'
  includeCurrentContainer: false, // default value: false

  // In a managed environment, container names may be obfuscated. 
  // If there is a label that provides a better name for logging,
  // provide the key here.
  nameLabel: 'com.amazonaws.ecs.container-name',

  // the following options limit the containers being matched
  // so we can avoid catching logs for unwanted containers
  matchByName: /hello/, // optional
  matchByImage: /matteocollina/, //optional
  skipByName: /.*pasteur.*/, //optional
  skipByImage: /.*dockerfile.*/, //optional
  attachFilter: function (id, dockerInspectInfo) {
    // Optional filter function to decide if the log stream should 
    // be attached to a container or not 
    // e.g. return /LOGGING_ENABLED=true/i.test(dockerInspectInfo.Config.Env.toString())
    return true
var lh = loghose(opts)
lh.pipe(through.obj(function(chunk, enc, cb) {
  // stop listening to specific container logs
  if (/top secret logs/.test(chunk.line)) { 
    // we should not get more logs for the container with chunk.long_id

Command Line Usage

docker-loghose [--json] [--help]
               [--nameLabel STRING]
               [--matchByImage REGEXP] [--matchByName REGEXP]
               [--skipByImage REGEXP] [--skipByName REGEXP]

Docker Usage

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock matteocollina/docker-loghose

Data format

  v: 0,
  id: "3324acd73ad5",
  long_id: "3324acd73ad573773b901d93e932be65f2bb55b8e6c03167a24c17ab3f172249"
  image: "myimage:latest",
  name: "mycontainer-name"
  time: 1454928524601,
  line: "This is a log line" // this will be an object if opts.jon is true


This project was kindly sponsored by nearForm.



Docker Pull Command
Source Repository