Caddy {combined} log seems wrong

1. My Caddy version Caddy v1.0.4 (h1:wwuGSkUHo6RZ3oMpeTt7J09WBB87X5o+IZN4dKehcQE=):

2. How I run Caddy:

caddyfile

max.hil.conor-burns.com {
 log / /var/log/caddy/blog-max.log "{combined}" {
   ipmask 255.255.255.0 ffff:ffff:ffff:ffff::
 }
 import conf/wc.conf
 proxy / localhost:887 {
   transparent
 }
}
max.hil.conor-burns.com/stats {
 import conf/wc.conf
 root /srv/http/max/cloud/stats
 proxy /ws localhost:7892 {
   websocket
 }
}

conf/wc.conf

tls {
  protocols tls1.2 tls1.3
  dns cloudflare
  key_type p384
  curves X25519 p521 p384 p256
  wildcard
}
import ./plain.conf

plain.conf

log / /var/log/caddy/access.log "{combined}" {
  ipmask 255.255.255.0 ffff:ffff:ffff:ffff::
}
errors /var/log/caddy/error.log
header / {
  -Server
  Strict-Transport-Security "max-age=31536000;"
  X-XSS-Protection "1; mode=block"
  X-Content-Type-Options "nosniff"
  X-Frame-Options "SAMEORIGIN"
}
ext .html .htm .json
timeouts {
    read   10s
    header 10s
    idle   5m
}

3. Environment:

a. System environment:

Linux mail.conor-burns.com 5.4.3-arch1-1 #1 SMP PREEMPT Fri, 13 Dec 2019 09:39:02 +0000 x86_64 GNU/Linux

b. Systemd

[Unit]
Description=Caddy HTTP/2 web server
Documentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

[Service]
Restart=always

User=http
Group=http

ExecStart=/usr/local/bin/caddy -log stdout -quic -email=mail@conor-burns.com -agree=true -envfile=/etc/caddy/.env -conf '/etc/caddy/*.caddy' -root=/var/tmp
ExecReload=/bin/kill -USR1 $MAINPID

KillMode=mixed
KillSignal=SIGQUIT
TimeoutStopSec=5s

LimitNOFILE=1048576
LimitNPROC=1024

PrivateTmp=true
PrivateDevices=false
ProtectHome=true
ProtectSystem=full
ReadWriteDirectories=/etc/ssl/caddy

CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

3. The problem I’m having:

The log (access-log and blog-max.log) have a date in front of the remote ip, which was not the case some time ago. I just noticed that goaccess didn’t parse my logs since Nov 17. and caddy version 1.0.4 came out on the 15. - so my guess is that after I updated something changed.

4. Error messages and/or full log output:

Old format:

2a02:908:f763:8ce0:: - - [15/Nov/2019:19:05:25 +0100] "GET /favicon.png HTTP/2.0" 200 96379 "https://max.hil.conor-burns.com/private/?r=%2F" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36 OPR/64.0.3417.92"

New format:

2019/12/22 20:33:50 2a02:908:1064:7520:: - - [22/Dec/2019:20:33:50 +0100] "GET /offline/ HTTP/2.0" 404 1426 "https://max.hil.conor-burns.com/sw.js" "Mozilla/5.0 (Linux; Android 10; ONEPLUS A6013) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36"

5. What I already tried:

Instead of {combined} the long version: {remote} - {user} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\"

Ah… I blame this: Add flag to disable timestamps for process log by corny · Pull Request #2781 · caddyserver/caddy · GitHub

Try setting -log-timestamps=false and see what happens.

1 Like

Thank you so much!

Worked like a charm :smiley:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.