[#266] Remove duplicate messages in logs

Signed-off-by: Kirill Sosnovskikh <k.sosnovskikh@yadro.com>
This commit is contained in:
k.sosnovskikh 2024-07-18 19:48:38 +03:00
parent 4c0d76408c
commit 166e44da9c
3 changed files with 23 additions and 32 deletions

View file

@ -28,10 +28,10 @@ class LocalShell(Shell):
for inspector in [*self.command_inspectors, *extra_inspectors]: for inspector in [*self.command_inspectors, *extra_inspectors]:
command = inspector.inspect(original_command, command) command = inspector.inspect(original_command, command)
logger.info(f"Executing command: {command}") with reporter.step(f"Executing command: {command}"):
if options.interactive_inputs: if options.interactive_inputs:
return self._exec_interactive(command, options) return self._exec_interactive(command, options)
return self._exec_non_interactive(command, options) return self._exec_non_interactive(command, options)
def _exec_interactive(self, command: str, options: CommandOptions) -> CommandResult: def _exec_interactive(self, command: str, options: CommandOptions) -> CommandResult:
start_time = datetime.utcnow() start_time = datetime.utcnow()
@ -60,9 +60,7 @@ class LocalShell(Shell):
if options.check and result.return_code != 0: if options.check and result.return_code != 0:
raise RuntimeError( raise RuntimeError(
f"Command: {command}\nreturn code: {result.return_code}\n" f"Command: {command}\nreturn code: {result.return_code}\n" f"Output: {result.stdout}\n" f"Stderr: {result.stderr}\n"
f"Output: {result.stdout}\n"
f"Stderr: {result.stderr}\n"
) )
return result return result
@ -93,9 +91,7 @@ class LocalShell(Shell):
stderr="", stderr="",
return_code=exc.returncode, return_code=exc.returncode,
) )
raise RuntimeError( raise RuntimeError(f"Command: {command}\nError with retcode: {exc.returncode}\n Output: {exc.output}") from exc
f"Command: {command}\nError:\n" f"return code: {exc.returncode}\n" f"output: {exc.output}"
) from exc
except OSError as exc: except OSError as exc:
raise RuntimeError(f"Command: {command}\nOutput: {exc.strerror}") from exc raise RuntimeError(f"Command: {command}\nOutput: {exc.strerror}") from exc
finally: finally:
@ -129,22 +125,19 @@ class LocalShell(Shell):
end_time: datetime, end_time: datetime,
result: Optional[CommandResult], result: Optional[CommandResult],
) -> None: ) -> None:
# TODO: increase logging level if return code is non 0, should be warning at least if not result:
logger.info( logger.warning(f"Command: {command}\n" f"Error: result is None")
f"Command: {command}\n" return
f"{'Success:' if result and result.return_code == 0 else 'Error:'}\n"
f"return code: {result.return_code if result else ''} "
f"\nOutput: {result.stdout if result else ''}"
)
if result: status, log_method = ("Success", logger.info) if result.return_code == 0 else ("Error", logger.warning)
elapsed_time = end_time - start_time log_method(f"Command: {command}\n" f"{status} with retcode {result.return_code}\n" f"Output: \n{result.stdout}")
command_attachment = (
f"COMMAND: {command}\n" elapsed_time = end_time - start_time
f"RETCODE: {result.return_code}\n\n" command_attachment = (
f"STDOUT:\n{result.stdout}\n" f"COMMAND: {command}\n"
f"STDERR:\n{result.stderr}\n" f"RETCODE: {result.return_code}\n\n"
f"Start / End / Elapsed\t {start_time.time()} / {end_time.time()} / {elapsed_time}" f"STDOUT:\n{result.stdout}\n"
) f"STDERR:\n{result.stderr}\n"
with reporter.step(f"COMMAND: {command}"): f"Start / End / Elapsed\t {start_time.time()} / {end_time.time()} / {elapsed_time}"
reporter.attach(command_attachment, "Command execution.txt") )
reporter.attach(command_attachment, "Command execution.txt")

View file

@ -200,7 +200,6 @@ def list_containers(wallet: WalletInfo, shell: Shell, endpoint: str, timeout: Op
""" """
cli = FrostfsCli(shell, FROSTFS_CLI_EXEC, wallet.config_path) cli = FrostfsCli(shell, FROSTFS_CLI_EXEC, wallet.config_path)
result = cli.container.list(rpc_endpoint=endpoint, timeout=timeout) result = cli.container.list(rpc_endpoint=endpoint, timeout=timeout)
logger.info(f"Containers: \n{result}")
return result.stdout.split() return result.stdout.split()

View file

@ -75,7 +75,7 @@ def _attach_allure_log(cmd: str, output: str, return_code: int, start_time: date
reporter.attach(command_attachment, "Command execution") reporter.attach(command_attachment, "Command execution")
def log_command_execution(url: str, cmd: str, output: Union[str, TypedDict], params: Optional[dict] = None) -> None: def log_command_execution(url: str, cmd: str, output: Union[str, dict], params: Optional[dict] = None) -> None:
logger.info(f"{cmd}: {output}") logger.info(f"{cmd}: {output}")
with suppress(Exception): with suppress(Exception):
@ -90,8 +90,7 @@ def log_command_execution(url: str, cmd: str, output: Union[str, TypedDict], par
params = json_params params = json_params
command_attachment = f"COMMAND: '{cmd}'\n" f"URL: {url}\n" f"PARAMS:\n{params}\n" f"OUTPUT:\n{output}\n" command_attachment = f"COMMAND: '{cmd}'\n" f"URL: {url}\n" f"PARAMS:\n{params}\n" f"OUTPUT:\n{output}\n"
with reporter.step(f'COMMAND: {shorten(cmd, width=60, placeholder="...")}'): reporter.attach(command_attachment, "Command execution")
reporter.attach(command_attachment, "Command execution")
def parse_netmap_output(output: str) -> list[NodeNetmapInfo]: def parse_netmap_output(output: str) -> list[NodeNetmapInfo]: