summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancis Lavoie <lavofr@gmail.com>2022-01-04 14:11:27 -0500
committerGitHub <noreply@github.com>2022-01-04 12:11:27 -0700
commit249adc1c872ae46e640cfb7c330e332229d8d32a (patch)
treed9102381e448710a3530596f73afbf93036ff4d7
parente9dde230247ec5525d4c3803ff99c97e0dc8e348 (diff)
logging: Support turning off roll compression via Caddyfile (#4505)
-rw-r--r--caddytest/integration/caddyfile_adapt/log_roll_days.txt2
-rw-r--r--modules/logging/filewriter.go11
2 files changed, 13 insertions, 0 deletions
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 <filename> {
// roll_disabled
// roll_size <size>
+// roll_uncompressed
// roll_keep <num>
// roll_keep_for <days>
// }
@@ -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) {