1. The problem I’m having:
I use the default Caddy configuration and add logging:
:80 {
root * /usr/share/caddy
log {
output file /var/log/caddy/access.log {
roll_size 2MiB
roll_keep 5
}
}
file_server
}
If I change the roll_size
and roll_keep
parameters, their new values are only applied after I restart Caddy, but are not applied after I reload it.
I tested this behavior for version 2.9.1 and 2.10.0
Is this expected?
2. Error messages and/or full log output:
vagrant@vagrant:~$ caddy version
v2.10.0 h1:fonubSaQKF1YANl8TXqGcn4IbIRUDdfAkpcsfI/vX5U=
vagrant@vagrant:~$ curl -s http://localhost:2019/config/ | jq .logging.logs.log0.writer
{
"filename": "/var/log/caddy/access.log",
"output": "file",
"roll_keep": 5,
"roll_size_mb": 2
}
vagrant@vagrant:~$ ls -l /var/log/caddy
total 0
-rw------- 1 caddy caddy 0 Apr 28 10:05 access.log
vagrant@vagrant:~$ ab -n 20000 http://localhost/ &> /dev/null
vagrant@vagrant:~$ ls -l /var/log/caddy
total 2180
-rw------- 1 caddy caddy 54019 Apr 28 10:05 access-2025-04-28T10-05-50.389.log.gz
-rw------- 1 caddy caddy 54080 Apr 28 10:05 access-2025-04-28T10-05-50.683.log.gz
-rw------- 1 caddy caddy 54020 Apr 28 10:05 access-2025-04-28T10-05-50.973.log.gz
-rw------- 1 caddy caddy 53951 Apr 28 10:05 access-2025-04-28T10-05-51.260.log.gz
-rw------- 1 caddy caddy 53789 Apr 28 10:05 access-2025-04-28T10-05-51.548.log.gz
-rw------- 1 caddy caddy 1945134 Apr 28 10:05 access.log
vagrant@vagrant:~$ # updating roll_keep=10 and roll_size_mb=1MiB in /etc/caddy/Caddyfile
vagrant@vagrant:~$ sudo systemctl reload caddy
vagrant@vagrant:~$ curl -s http://localhost:2019/config/ | jq .logging.logs.log0.writer
{
"filename": "/var/log/caddy/access.log",
"output": "file",
"roll_keep": 10,
"roll_size_mb": 1
}
vagrant@vagrant:~$ ab -n 20000 http://localhost/ &> /dev/null
vagrant@vagrant:~$ ls -l /var/log/caddy
total 2032
-rw------- 1 caddy caddy 53888 Apr 28 10:06 access-2025-04-28T10-06-32.504.log.gz
-rw------- 1 caddy caddy 54073 Apr 28 10:06 access-2025-04-28T10-06-32.799.log.gz
-rw------- 1 caddy caddy 53887 Apr 28 10:06 access-2025-04-28T10-06-33.084.log.gz
-rw------- 1 caddy caddy 54054 Apr 28 10:06 access-2025-04-28T10-06-33.374.log.gz
-rw------- 1 caddy caddy 53842 Apr 28 10:06 access-2025-04-28T10-06-33.666.log.gz
-rw------- 1 caddy caddy 1793477 Apr 28 10:06 access.log
vagrant@vagrant:~$ sudo systemctl restart caddy
vagrant@vagrant:~$ ab -n 20000 http://localhost/ &> /dev/null
vagrant@vagrant:~$ ls -l /var/log/caddy
total 1156
-rw------- 1 caddy caddy 27468 Apr 28 10:06 access-2025-04-28T10-06-49.374.log.gz
-rw------- 1 caddy caddy 27258 Apr 28 10:06 access-2025-04-28T10-06-49.522.log.gz
-rw------- 1 caddy caddy 27513 Apr 28 10:06 access-2025-04-28T10-06-49.679.log.gz
-rw------- 1 caddy caddy 27431 Apr 28 10:06 access-2025-04-28T10-06-49.826.log.gz
-rw------- 1 caddy caddy 27406 Apr 28 10:06 access-2025-04-28T10-06-49.971.log.gz
-rw------- 1 caddy caddy 27225 Apr 28 10:06 access-2025-04-28T10-06-50.113.log.gz
-rw------- 1 caddy caddy 27335 Apr 28 10:06 access-2025-04-28T10-06-50.257.log.gz
-rw------- 1 caddy caddy 27562 Apr 28 10:06 access-2025-04-28T10-06-50.427.log.gz
-rw------- 1 caddy caddy 27354 Apr 28 10:06 access-2025-04-28T10-06-50.571.log.gz
-rw------- 1 caddy caddy 27253 Apr 28 10:06 access-2025-04-28T10-06-50.711.log.gz
-rw------- 1 caddy caddy 896731 Apr 28 10:06 access.log
3. Caddy version:
v2.10.0 h1:fonubSaQKF1YANl8TXqGcn4IbIRUDdfAkpcsfI/vX5U=
4. How I installed and ran Caddy:
I installed Caddy using the official method for Ubuntu.
a. System environment:
Ubuntu 24.04.2 LTS
b. Command:
-
c. Service/unit/compose file:
Default caddy.service
d. My complete Caddy config:
See above
5. Links to relevant resources:
-