Skip to content
Snippets Groups Projects
Commit 2b79465e authored by Podosochnyy Maxim's avatar Podosochnyy Maxim
Browse files

Добавлено логгирование запросов

parent 26a74b61
No related branches found
No related tags found
1 merge request!39Добавлено логгирование запросов
...@@ -41,6 +41,58 @@ class ExtensionService(extension_pb2_grpc.ExtensionServicer): ...@@ -41,6 +41,58 @@ class ExtensionService(extension_pb2_grpc.ExtensionServicer):
for client in self.clients or []: for client in self.clients or []:
self.extension_setup.add_client(client) self.extension_setup.add_client(client)
def write_result_log(self, operation, request, response):
log_func = self.get_log_func_by_state(response.results[0].state)
log_func(
"Результат %s расширения %s для окружения %s пространства %s: \r\n"
"State: %s\r\n"
"Msg: %s\r\n"
"Error: %s" % (
operation,
self.extension_id,
request.env_id,
request.space_id,
response.results[0].state,
response.results[0].msg,
response.results[0].error
)
)
def get_log_func_by_state(self, state):
if state == extension_pb2.ExtensionRequestResult.State.OK:
return self.logger.info
else:
return self.logger.error
def ext_request_results_from_exception(self, e: Exception) -> extension_pb2.ExtensionRequestResult:
return [
extension_pb2.ExtensionRequestResult(
extension=self.extension_id,
state=extension_pb2.ExtensionRequestResult.State.ERROR,
error=str(e),
msg=None
)
]
def _Install(self, request: extension_pb2.InstallRequest, context):
errors_list = self.extension_setup.install(
request.space_id, request.env_id, request.force
)
response_state = extension_pb2.ExtensionRequestResult.State.OK \
if not errors_list \
else extension_pb2.ExtensionRequestResult.State.ERROR
return extension_pb2.InstallResponse(
results=[extension_pb2.ExtensionRequestResult(
extension=self.extension_id,
state=response_state,
error="; ".join(errors_list) if errors_list else None,
msg="Ok" if not errors_list else None
)]
)
def Install(self, request: extension_pb2.InstallRequest, context): def Install(self, request: extension_pb2.InstallRequest, context):
self.logger.info( self.logger.info(
"Установка расширения %s для окружения %s пространства %s. %s force" % ( "Установка расширения %s для окружения %s пространства %s. %s force" % (
...@@ -52,59 +104,37 @@ class ExtensionService(extension_pb2_grpc.ExtensionServicer): ...@@ -52,59 +104,37 @@ class ExtensionService(extension_pb2_grpc.ExtensionServicer):
) )
try: try:
errors_list = self.extension_setup.install( response = self._Install(request, context)
request.space_id, request.env_id, request.force except Exception as e:
)
if errors_list:
context.set_code(grpc.StatusCode.UNKNOWN)
context.set_details("; ".join(errors_list))
response_state = extension_pb2.ExtensionRequestResult.State.OK \
if not errors_list \
else extension_pb2.ExtensionRequestResult.State.ERROR
response = extension_pb2.InstallResponse( response = extension_pb2.InstallResponse(
results=[extension_pb2.ExtensionRequestResult( results=self.ext_request_results_from_exception(e)
extension=self.extension_id,
state=response_state,
error="; ".join(errors_list) if errors_list else None,
msg="Ok" if not errors_list else None
)]
) )
except Exception as e:
if response.results[0].state != extension_pb2.ExtensionRequestResult.State.OK:
context.set_code(grpc.StatusCode.UNKNOWN) context.set_code(grpc.StatusCode.UNKNOWN)
context.set_details(str(e)) context.set_details(response.results[0].error)
response = extension_pb2.InstallResponse( self.write_result_log("установки", request, response)
results=[extension_pb2.ExtensionRequestResult(
extension=self.extension_id,
state=extension_pb2.ExtensionRequestResult.State.ERROR,
error=str(e),
msg=None
)]
)
if response.results[0].state == extension_pb2.ExtensionRequestResult.State.OK: return response
log_func = self.logger.info
else:
log_func = self.logger.error
log_func( def _Update(self, request: extension_pb2.UpdateRequest, context):
"Результат установки расширения %s для окружения %s пространства %s: \r\n" errors_list = self.extension_setup.update(
"State: %s\r\n" request.space_id, request.env_id, request.force
"Msg: %s\r\n"
"Error: %s" % (
self.extension_id,
request.env_id,
request.space_id,
response.results[0].state,
response.results[0].msg,
response.results[0].error
)
) )
return response response_state = extension_pb2.ExtensionRequestResult.State.OK \
if not errors_list \
else extension_pb2.ExtensionRequestResult.State.ERROR
return extension_pb2.UpdateResponse(
results=[extension_pb2.ExtensionRequestResult(
extension=self.extension_id,
state=response_state,
error="; ".join(errors_list) if errors_list else None,
msg="Ok" if not errors_list else None
)]
)
def Update(self, request: extension_pb2.UpdateRequest, context): def Update(self, request: extension_pb2.UpdateRequest, context):
self.logger.info( self.logger.info(
...@@ -117,60 +147,36 @@ class ExtensionService(extension_pb2_grpc.ExtensionServicer): ...@@ -117,60 +147,36 @@ class ExtensionService(extension_pb2_grpc.ExtensionServicer):
) )
try: try:
errors_list = self.extension_setup.update( response = self._Update(request, context)
request.space_id, request.env_id, request.force except Exception as e:
response = extension_pb2.UpdateResponse(
results=self.ext_request_results_from_exception(e)
) )
if errors_list: if response.results[0].state != extension_pb2.ExtensionRequestResult.State.OK:
context.set_code(grpc.StatusCode.UNKNOWN) context.set_code(grpc.StatusCode.UNKNOWN)
context.set_details("; ".join(errors_list)) context.set_details(response.results[0].error)
response_state = extension_pb2.ExtensionRequestResult.State.OK \ self.write_result_log("обновления", request, response)
if not errors_list \
else extension_pb2.ExtensionRequestResult.State.ERROR
response = extension_pb2.UpdateResponse( return response
results=[extension_pb2.ExtensionRequestResult(
extension=self.extension_id,
state=response_state,
error="; ".join(errors_list) if errors_list else None,
msg="Ok" if not errors_list else None
)]
)
except Exception as e:
context.set_code(grpc.StatusCode.UNKNOWN)
context.set_details(str(e))
response = extension_pb2.UpdateResponse( def _Uninstall(self, request: extension_pb2.UninstallRequest, context):
results=[extension_pb2.ExtensionRequestResult( errors_list: list[str] = self.extension_setup.uninstall(request.space_id, request.env_id, request.remove)
extension=self.extension_id,
state=extension_pb2.ExtensionRequestResult.State.ERROR,
error=str(e),
msg=None
)]
)
if response.results[0].state == extension_pb2.ExtensionRequestResult.State.OK: response_state = extension_pb2.ExtensionRequestResult.State.OK \
log_func = self.logger.info if not errors_list \
else: else extension_pb2.ExtensionRequestResult.State.ERROR
log_func = self.logger.error
log_func( return extension_pb2.UninstallResponse(
"Результат обновления расширения %s для окружения %s пространства %s: \r\n" results=[extension_pb2.ExtensionRequestResult(
"State: %s\r\n" extension=self.extension_id,
"Msg: %s\r\n" state=response_state,
"Error: %s" % ( error="; ".join(errors_list) if errors_list else None,
self.extension_id, msg="Ok" if not errors_list else None
request.env_id, )]
request.space_id,
response.results[0].state,
response.results[0].msg,
response.results[0].error
)
) )
return response
def Uninstall(self, request: extension_pb2.UninstallRequest, context): def Uninstall(self, request: extension_pb2.UninstallRequest, context):
self.logger.info( self.logger.info(
"Удаление расширения %s для окружения %s пространства %s. %s remove" % ( "Удаление расширения %s для окружения %s пространства %s. %s remove" % (
...@@ -182,54 +188,36 @@ class ExtensionService(extension_pb2_grpc.ExtensionServicer): ...@@ -182,54 +188,36 @@ class ExtensionService(extension_pb2_grpc.ExtensionServicer):
) )
try: try:
errors_list: list[str] = self.extension_setup.uninstall(request.space_id, request.env_id, request.remove) response = self._Uninstall(request, context)
response_state = extension_pb2.ExtensionRequestResult.State.OK \
if not errors_list \
else extension_pb2.ExtensionRequestResult.State.ERROR
response = extension_pb2.UninstallResponse(
results=[extension_pb2.ExtensionRequestResult(
extension=self.extension_id,
state=response_state,
error="; ".join(errors_list) if errors_list else None,
msg="Ok" if not errors_list else None
)]
)
except Exception as e: except Exception as e:
context.set_code(grpc.StatusCode.UNKNOWN)
context.set_details(str(e))
response = extension_pb2.UninstallResponse( response = extension_pb2.UninstallResponse(
results=[extension_pb2.ExtensionRequestResult( results=self.ext_request_results_from_exception(e)
extension=self.extension_id,
state=extension_pb2.ExtensionRequestResult.State.ERROR,
error=str(e),
msg=None
)]
) )
if response.results[0].state == extension_pb2.ExtensionRequestResult.State.OK: if response.results[0].state != extension_pb2.ExtensionRequestResult.State.OK:
log_func = self.logger.info context.set_code(grpc.StatusCode.UNKNOWN)
else: context.set_details(response.results[0].error)
log_func = self.logger.error
log_func( self.write_result_log("удаления", request, response)
"Результат удаления расширения %s для окружения %s пространства %s: \r\n"
"State: %s\r\n"
"Msg: %s\r\n"
"Error: %s" % (
self.extension_id,
request.env_id,
request.space_id,
response.results[0].state,
response.results[0].msg,
response.results[0].error
)
)
return response return response
def _Check(self, request: extension_pb2.CheckRequest, context):
errors_list = self.extension_setup.check(request.space_id, request.env_id)
response_state = extension_pb2.ExtensionRequestResult.State.OK \
if not errors_list \
else extension_pb2.ExtensionRequestResult.State.ERROR
return extension_pb2.CheckResponse(
results=[extension_pb2.ExtensionRequestResult(
extension=self.extension_id,
state=response_state,
error="; ".join(errors_list) if errors_list else None,
msg="Ok" if not errors_list else None
)]
)
def Check(self, request: extension_pb2.CheckRequest, context): def Check(self, request: extension_pb2.CheckRequest, context):
self.logger.info( self.logger.info(
"Проверка расширения %s для окружения %s пространства %s" % ( "Проверка расширения %s для окружения %s пространства %s" % (
...@@ -240,55 +228,17 @@ class ExtensionService(extension_pb2_grpc.ExtensionServicer): ...@@ -240,55 +228,17 @@ class ExtensionService(extension_pb2_grpc.ExtensionServicer):
) )
try: try:
errors_list = self.extension_setup.check(request.space_id, request.env_id) response = self._Check(request, context)
if errors_list:
context.set_code(grpc.StatusCode.UNKNOWN)
context.set_details("; ".join(errors_list))
response_state = extension_pb2.ExtensionRequestResult.State.OK \
if not errors_list \
else extension_pb2.ExtensionRequestResult.State.ERROR
response = extension_pb2.CheckResponse(
results=[extension_pb2.ExtensionRequestResult(
extension=self.extension_id,
state=response_state,
error="; ".join(errors_list) if errors_list else None,
msg="Ok" if not errors_list else None
)]
)
except Exception as e: except Exception as e:
context.set_code(grpc.StatusCode.UNKNOWN)
context.set_details(str(e))
response = extension_pb2.CheckResponse( response = extension_pb2.CheckResponse(
results=[extension_pb2.ExtensionRequestResult( results=self.ext_request_results_from_exception(e)
extension=self.extension_id,
state=extension_pb2.ExtensionRequestResult.State.ERROR,
error=str(e),
msg=None
)]
) )
if response.results[0].state == extension_pb2.ExtensionRequestResult.State.OK: if response.results[0].state != extension_pb2.ExtensionRequestResult.State.OK:
log_func = self.logger.info context.set_code(grpc.StatusCode.UNKNOWN)
else: context.set_details(response.results[0].error)
log_func = self.logger.error
log_func( self.write_result_log("проверки", request, response)
"Результат проверки расширения %s для окружения %s пространства %s: \r\n"
"State: %s\r\n"
"Msg: %s\r\n"
"Error: %s" % (
self.extension_id,
request.env_id,
request.space_id,
response.results[0].state,
response.results[0].msg,
response.results[0].error
)
)
return response return response
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment