Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion dev/build/gunicorn.conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,18 +64,21 @@ def _describe_request(req):
start and end of handling a request. E.g., do not include a timestamp.
"""
client_ip = "-"
asn = "-"
cf_ray = "-"
for header, value in req.headers:
header = header.lower()
if header == "cf-connecting-ip":
client_ip = value
elif header == "x-ip-src-asnum":
asn = value
elif header == "cf-ray":
cf_ray = value
if req.query:
path = f"{req.path}?{req.query}"
else:
path = req.path
return f"{req.method} {path} (client_ip={client_ip}, cf_ray={cf_ray})"
return f"{req.method} {path} (client_ip={client_ip}, asn={asn}, cf_ray={cf_ray})"


def pre_request(worker, req):
Expand Down
1 change: 1 addition & 0 deletions ietf/utils/jsonlogger.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ def add_fields(self, log_record, record, message_dict):
log_record.setdefault("cf_connecting_ip", record.args["{cf-connecting-ip}i"])
log_record.setdefault("cf_connecting_ipv6", record.args["{cf-connecting-ipv6}i"])
log_record.setdefault("cf_ray", record.args["{cf-ray}i"])
log_record.setdefault("asn", record.args["{x-ip-src-asnum}i"])
log_record.setdefault("is_authenticated", record.args["{x-datatracker-is-authenticated}o"])
7 changes: 5 additions & 2 deletions k8s/nginx-logging.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Define JSON log format - must be loaded before config that references it
# Define JSON log format - must be loaded before config that references it.
# Note that each line is fully enclosed in single quotes. Commas in arrays are
# intentionally inside the single quotes.
log_format ietfjson escape=json
'{'
'"time":"$${keepempty}time_iso8601",'
Expand All @@ -16,5 +18,6 @@ log_format ietfjson escape=json
'"x_forwarded_proto":"$${keepempty}http_x_forwarded_proto",'
'"cf_connecting_ip":"$${keepempty}http_cf_connecting_ip",'
'"cf_connecting_ipv6":"$${keepempty}http_cf_connecting_ipv6",'
'"cf_ray":"$${keepempty}http_cf_ray"'
'"cf_ray":"$${keepempty}http_cf_ray",'
'"asn":"$${keepempty}http_x_ip_src_asnum"'
'}';