Browse Source

logging: Support turning off roll compression via Caddyfile (#4505)

master
Francis Lavoie 3 years ago
committed by GitHub
parent
commit
249adc1c87
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      caddytest/integration/caddyfile_adapt/log_roll_days.txt
  2. 11
      modules/logging/filewriter.go

2
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

11
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) {

Loading…
Cancel
Save