MCPcopy Create free account
hub / github.com/aws/aws-cli / LiveTailLogEventsCollector

Class LiveTailLogEventsCollector

awscli/customizations/logs/ui.py:752–793  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

750
751
752class LiveTailLogEventsCollector(Thread):
753 def __init__(
754 self,
755 output,
756 ui,
757 response_stream,
758 log_events: list,
759 session_metadata: LiveTailSessionMetadata,
760 ) -> None:
761 super().__init__()
762 self._output = output
763 self._ui = ui
764 self._response_stream = response_stream
765 self._log_events = log_events
766 self._session_metadata = session_metadata
767 self._exception = None
768
769 def _collect_log_events(self):
770 try:
771 for event in self._response_stream:
772 if "sessionUpdate" not in event:
773 continue
774
775 session_update = event["sessionUpdate"]
776 self._session_metadata.update_metadata(
777 session_update["sessionMetadata"]
778 )
779 logEvents = session_update["sessionResults"]
780 for logEvent in logEvents:
781 self._log_events.append(logEvent["message"])
782 except Exception as e:
783 self._exception = e
784
785 self._ui.exit()
786
787 def stop(self):
788 if self._exception is not None:
789 self._output.write(str(self._exception) + "\n")
790 self._output.flush()
791
792 def run(self):
793 self._collect_log_events()

Callers 2

setUpMethod · 0.90
_run_mainMethod · 0.90

Calls

no outgoing calls

Tested by 1

setUpMethod · 0.72