gol4ng/logger

View on GitHub
writer/provider/compress.go

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
package provider

import (
    "io"

    "github.com/gol4ng/logger/writer"
)

// CompressProvider will decorate writer.Provider with compression
func CompressProvider(provider writer.Provider, options ...writer.CompressOption) writer.Provider {
    return func(w io.Writer) (io.Writer, error) {
        file, err := provider(w)
        if err != nil {
            return nil, err
        }

        return writer.NewCompressWriter(file, options...), nil
    }
}