# Исходный код components_derived.container_system_log_events

    """Модуль контейнера для отображения событий системного журнала.

    Содержит класс для работы с контейнером для отображения событий
    системного журнала через Playwright.
    """

    from playwright.sync_api import Page, Locator
    from tools.logger import get_logger
    from locators.toolbar_locators import ToolbarLocators
    from components.events_container_component import EventsContainerComponent

    logger = get_logger("SYSTEM_LOG_EVENTS_CONTAINER")

    class SystemLogEventsContainer(EventsContainerComponent):
        """Компонент контейнера для отображения событий системного журнала.

        Предоставляет методы для взаимодействия с элементами
        контейнера для отображения событий системного журнала.
        """

        def __init__(self, page: Page, locator: str | Locator):
            """Инициализирует компонент контейнера для отображения событий системного журнала.

            Args:
                page: Экземпляр страницы Playwright.
            """

            super().__init__(page, locator)

            self.add_tab_to_toolbar(ToolbarLocators.TABS, "events")

            sidebar_filter = self.get_sidebar_filter()
            sidebar_filter.add_filtering_parameter("filter_type", "Тип")
            sidebar_filter.add_filtering_parameter("filter_strictness", "Строгость")
            sidebar_filter.add_filtering_parameter("filter_host", "Хост")

        # Действия:
        # Проверки:

        def check_content(self) -> None:
            """Проверяет содержимое контейнера для отображения событий системного журнала."""

            expected_headers = ['ТИП', 'ВРЕМЯ', 'СТРОГОСТЬ', 'ХОСТ', 'ОПИСАНИЕ']

            self.should_be_toolbar()
            self.should_be_base_toolbar_buttons()

            events_tab = self.get_toolbar_tab_button("events")
            events_tab_text = events_tab.get_text(0)
            assert events_tab_text.find("chevron_right") != -1, "Should be icon 'chevron_right'"
            assert events_tab_text.find("События") != -1, "Tab button with text События is missing on toolbar"

            self.should_be_events_table()
            events_table = self.get_events_table_content()

            if len(events_table) == 0:
                assert False, "The contents of the events table are missing"

            self.check_events_table_headers(events_table[0], expected_headers)

            if len(events_table) == 1:
                assert False, "Table body is missing"

            self.should_be_pagination_buttons()

            sidebar_filter = self.click_filter_button()
            sidebar_filter.check_content()

            filter_type_bar = sidebar_filter.get_filtering_parameter("filter_type")
            filter_type_title = filter_type_bar.get_selection_bar_title()
            assert filter_type_title == "Тип", "Filtering parameter bar 'Тип' is missing"

            filter_strictness_bar = sidebar_filter.get_filtering_parameter("filter_strictness")
            filter_strictness_title = filter_strictness_bar.get_selection_bar_title()
            assert filter_strictness_title == "Строгость", "Filtering parameter bar 'Строгость' is missing"

            filter_host_bar = sidebar_filter.get_filtering_parameter("filter_host")
            filter_host_title = filter_host_bar.get_selection_bar_title()
            assert filter_host_title == "Хост", "Filtering parameter bar 'Хост' is missing"