How logging works

Skip2 logs data continually, but only stores it for 30 days, just long enough to finish a billing cycle to know how much bandwidth is used. 

Skip2 also acts as a log emitter for our Enterprise customers, enabling realtime logs to be sent to your choice of database.

Here is a full example of a logged request. No other headers are logged.

    "level": "info",
    "ts": 1433861401.5241024,
    "logger": "http.log.access",
    "msg": "handled request",
    "request": {
        "proto": "HTTP/3.0",
        "method": "GET",
        "host": ""
        "headers": {
            "Accept": ["*/*"],
            "Accept-Encoding": ["gzip, deflate, br"],
        "tls": {
            "resumed": false,
            "version": 772,
            "cipher_suite": 4865,
            "proto": "h2",
            "server_name": ""
    "user_id": "",
    "duration": 0.000929675,
    "size": 10900,
    "status": 200,
    "resp_headers": {
        "Content-Encoding": ["br"],
        "Content-Type": ["text/html; charset=utf-8"],
        "Vary": ["Accept-Encoding"],
        "Cache-Control": ["max-age=604800"],
        "Cache-Status": ["Skip2; hit; ttl=977; key="],
        "S2-Edge": [""],
        "S2-Tls-Version": ["tls1.3"],
        "S2-Schema": ["https"],
        "Via": ["Skip2"],
        "S2-Method": ["GET"],
        "Server": ["Caddy, Skip2"],
        "S2-Cipher": ["TLS_AES_128_GCM_SHA256"],
        "S2-Proto": ["HTTP/3.0"],
        "S2-Trace": [""],
        "Etag": ["r4s3jc3lc"]