dotcloud/docker

View on GitHub
daemon/logger/local/config.go

Summary

Maintainability
A
0 mins
Test Coverage
package local

import (
    "github.com/pkg/errors"
)

// CreateConfig is used to configure new instances of driver
type CreateConfig struct {
    DisableCompression bool
    MaxFileSize        int64
    MaxFileCount       int
}

func newDefaultConfig() *CreateConfig {
    return &CreateConfig{
        MaxFileSize:        defaultMaxFileSize,
        MaxFileCount:       defaultMaxFileCount,
        DisableCompression: !defaultCompressLogs,
    }
}

func validateConfig(cfg *CreateConfig) error {
    if cfg.MaxFileSize < 0 {
        return errors.New("max size should be a positive number")
    }
    if cfg.MaxFileCount < 0 {
        return errors.New("max file count cannot be less than 0")
    }

    if !cfg.DisableCompression {
        if cfg.MaxFileCount <= 1 {
            return errors.New("compression cannot be enabled when max file count is 1")
        }
    }
    return nil
}