Skip to content

ahmetb/dlog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dlog

Go library to parse the binary Docker Logs stream into plain text.

GoDoc Build Status Coverage Status Go Report Card

dlog offers a single method: NewReader(r io.Reader) io.Reader. You are supposed to give the response body of the /containers/<id>/logs. The returned reader strips off the log headers and just gives the plain text to be used.

Here is how a log line from container looks like in the the raw docker logs stream:

01 00 00 00 00 00 00 1f 52 6f 73 65 73 20 61 72  65 ...
│  ─────┬── ─────┬─────  R  o  s  e  s     a  r   e ...
│       │        │
└stdout │        │
        │        └─ 0x0000001f = log message is 31 bytes
      unused

You can get the logs stream from go-dockerclient's Logs() method, or by calling the container logs endpoint direclty via the UNIX socket directly.

See example_test.go for an example usage.

This library is written in vanilla Go and has no external dependencies.


Licensed under Apache 2.0. Copyright 2017 Ahmet Alp Balkan.

Releases

No releases published

Packages

No packages published

Languages