diff --git a/server/src/uds/REST/handlers.py b/server/src/uds/REST/handlers.py index e646b2773..d0851495a 100644 --- a/server/src/uds/REST/handlers.py +++ b/server/src/uds/REST/handlers.py @@ -181,8 +181,6 @@ class Handler: else: self._user = User() # Empty user for non authenticated handlers - # Keep track of the operation - log.log_operation(self) def headers(self) -> typing.Dict[str, str]: """ diff --git a/server/src/uds/REST/log.py b/server/src/uds/REST/log.py index 57c70dd20..be5eb18e4 100644 --- a/server/src/uds/REST/log.py +++ b/server/src/uds/REST/log.py @@ -30,30 +30,41 @@ Author: Adolfo Gómez, dkmaster at dkmon dot com """ import typing -import datetime from uds.models import Log, getSqlDatetime -from uds.core.util import log, config -from uds.core.jobs import Job +from uds.core.util.log import ( + REST, + OWNER_TYPE_REST, + DEBUG, + INFO, + WARNING, + ERROR, + CRITICAL, + # These are legacy support until full removal + WARN, + FATAL, +) + if typing.TYPE_CHECKING: from .handlers import Handler -def log_operation(handler: 'Handler', level: int = log.INFO): +def log_operation(handler: typing.Optional['Handler'], response_code: int, level: int = INFO): """ Logs a request """ + if not handler: + return # Nothing to log username = handler._request.user.pretty_name if handler._request.user else 'Unknown' # Global log is used without owner nor type Log.objects.create( owner_id=0, - owner_type=log.OWNER_TYPE_REST, + owner_type=OWNER_TYPE_REST, created=getSqlDatetime(), level=level, - source=log.REST, - data=f'{username}: [{handler._request.method}] {handler._request.path}'[ + source=REST, + data=f'{username}: [{handler._request.method}/{response_code}] {handler._request.path}'[ :255 ], ) - diff --git a/server/src/uds/core/util/log.py b/server/src/uds/core/util/log.py index c82d29cf6..9a46fd39f 100644 --- a/server/src/uds/core/util/log.py +++ b/server/src/uds/core/util/log.py @@ -43,10 +43,13 @@ logger = logging.getLogger(__name__) useLogger = logging.getLogger('useLog') # Logging levels -OTHER, DEBUG, INFO, WARN, ERROR, FATAL = ( +OTHER, DEBUG, INFO, WARNING, ERROR, CRITICAL = ( 10000 * (x + 1) for x in range(6) ) # @UndefinedVariable +WARN = WARNING +FATAL = CRITICAL + # Logging sources INTERNAL, ACTOR, TRANSPORT, OSMANAGER, UNKNOWN, WEB, ADMIN, SERVICE, REST = ( 'internal',