docker: Index | Files

package local

import ""

Package local provides a logger implementation that stores logs on disk.

Log messages are encoded as protobufs with a header and footer for each message. The header and footer are big-endian binary encoded uint32 values which indicate the size of the log message. The header and footer of each message allows you to efficiently read through a file either forwards or in backwards (such as is the case when tailing a file)

Example log message format: [22][This is a log message.][22][28][This is another log message.][28]


Package Files

config.go doc.go local.go read.go


const (
    // Name is the name of the driver
    Name = "local"


var LogOptKeys = map[string]bool{
    "max-file": true,
    "max-size": true,
    "compress": true,

LogOptKeys are the keys names used for log opts passed in to initialize the driver.

func New Uses

func New(info logger.Info) (logger.Logger, error)

New creates a new local logger You must provide the `LogPath` in the passed in info argument, this is the file path that logs are written to.

func ValidateLogOpt Uses

func ValidateLogOpt(cfg map[string]string) error

ValidateLogOpt looks for log driver specific options.

type CreateConfig Uses

type CreateConfig struct {
    DisableCompression bool
    MaxFileSize        int64
    MaxFileCount       int

CreateConfig is used to configure new instances of driver

Package local imports 15 packages (graph) and is imported by 3 packages. Updated 2020-04-20. Refresh now. Tools for package owners.