From 249adc1c872ae46e640cfb7c330e332229d8d32a Mon Sep 17 00:00:00 2001 From: Francis Lavoie Date: Tue, 4 Jan 2022 14:11:27 -0500 Subject: logging: Support turning off roll compression via Caddyfile (#4505) --- caddytest/integration/caddyfile_adapt/log_roll_days.txt | 2 ++ modules/logging/filewriter.go | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/caddytest/integration/caddyfile_adapt/log_roll_days.txt b/caddytest/integration/caddyfile_adapt/log_roll_days.txt index 2d146f9..5762c92 100644 --- a/caddytest/integration/caddyfile_adapt/log_roll_days.txt +++ b/caddytest/integration/caddyfile_adapt/log_roll_days.txt @@ -3,6 +3,7 @@ log { output file /var/log/access.log { roll_size 1gb + roll_uncompressed roll_keep 5 roll_keep_for 90d } @@ -20,6 +21,7 @@ log { "writer": { "filename": "/var/log/access.log", "output": "file", + "roll_gzip": false, "roll_keep": 5, "roll_keep_days": 90, "roll_size_mb": 954 diff --git a/modules/logging/filewriter.go b/modules/logging/filewriter.go index 376deeb..7333fb2 100644 --- a/modules/logging/filewriter.go +++ b/modules/logging/filewriter.go @@ -134,6 +134,7 @@ func (fw FileWriter) OpenWriter() (io.WriteCloser, error) { // file { // roll_disabled // roll_size +// roll_uncompressed // roll_keep // roll_keep_for // } @@ -141,6 +142,9 @@ func (fw FileWriter) OpenWriter() (io.WriteCloser, error) { // The roll_size value has megabyte resolution. // Fractional values are rounded up to the next whole megabyte (MiB). // +// By default, compression is enabled, but can be turned off by setting +// the roll_uncompressed option. +// // The roll_keep_for duration has day resolution. // Fractional values are rounded up to the next whole number of days. // @@ -177,6 +181,13 @@ func (fw *FileWriter) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { } fw.RollSizeMB = int(math.Ceil(float64(size) / humanize.MiByte)) + case "roll_uncompressed": + var f bool + fw.RollCompress = &f + if d.NextArg() { + return d.ArgErr() + } + case "roll_keep": var keepStr string if !d.AllArgs(&keepStr) { -- cgit v1.2.3