diff --git a/daphne/access.py b/daphne/access.py index e18138a..8fc3dc7 100644 --- a/daphne/access.py +++ b/daphne/access.py @@ -1,6 +1,5 @@ import datetime - class AccessLogGenerator: """ Object that implements the Daphne "action logger" internal interface in @@ -14,57 +13,26 @@ 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 - ): + def write_entry(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) """ - 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 "-", - ) - ) + formatted_date = date.strftime("%d/%b/%Y:%H:%M:%S") + self.stream.write(f"{host} {ident} {user} [{formatted_date}] \"{request}\" {status} {length}\n")