mirror of
https://github.com/django/daphne.git
synced 2025-04-17 23:32:12 +03:00
Merge cb9b2d9e9f
into 3758c514fd
This commit is contained in:
commit
4d92501992
|
@ -14,57 +14,30 @@ class AccessLogGenerator:
|
|||
"""
|
||||
Called when an action happens; use it to generate log entries.
|
||||
"""
|
||||
# HTTP requests
|
||||
if protocol == "http" and action == "complete":
|
||||
self.write_entry(
|
||||
host=details["client"],
|
||||
date=datetime.datetime.now(),
|
||||
request="%(method)s %(path)s" % details,
|
||||
status=details["status"],
|
||||
length=details["size"],
|
||||
request=f"{details['method']} {details['path']}",
|
||||
status=details.get("status", "-"),
|
||||
length=details.get("size", "-"),
|
||||
)
|
||||
# Websocket requests
|
||||
elif protocol == "websocket" and action == "connecting":
|
||||
elif protocol == "websocket":
|
||||
message = f"WS{action.upper()} {details.get('path', '')}"
|
||||
self.write_entry(
|
||||
host=details["client"],
|
||||
date=datetime.datetime.now(),
|
||||
request="WSCONNECTING %(path)s" % details,
|
||||
)
|
||||
elif protocol == "websocket" and action == "rejected":
|
||||
self.write_entry(
|
||||
host=details["client"],
|
||||
date=datetime.datetime.now(),
|
||||
request="WSREJECT %(path)s" % details,
|
||||
)
|
||||
elif protocol == "websocket" and action == "connected":
|
||||
self.write_entry(
|
||||
host=details["client"],
|
||||
date=datetime.datetime.now(),
|
||||
request="WSCONNECT %(path)s" % details,
|
||||
)
|
||||
elif protocol == "websocket" and action == "disconnected":
|
||||
self.write_entry(
|
||||
host=details["client"],
|
||||
date=datetime.datetime.now(),
|
||||
request="WSDISCONNECT %(path)s" % details,
|
||||
request=message,
|
||||
)
|
||||
|
||||
def write_entry(
|
||||
self, host, date, request, status=None, length=None, ident=None, user=None
|
||||
self, host, date, request, status="-", length="-", ident="-", user="-"
|
||||
):
|
||||
"""
|
||||
Writes an NCSA-style entry to the log file (some liberty is taken with
|
||||
what the entries are for non-HTTP)
|
||||
"""
|
||||
formatted_date = date.strftime("%d/%b/%Y:%H:%M:%S")
|
||||
self.stream.write(
|
||||
'%s %s %s [%s] "%s" %s %s\n'
|
||||
% (
|
||||
host,
|
||||
ident or "-",
|
||||
user or "-",
|
||||
date.strftime("%d/%b/%Y:%H:%M:%S"),
|
||||
request,
|
||||
status or "-",
|
||||
length or "-",
|
||||
)
|
||||
f'{host} {ident} {user} [{formatted_date}] "{request}" {status} {length}\n'
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue
Block a user