code: def test_configure_trigger_log_handler_root_has_task_handler():
      """
      root logger: single handler that supports triggerer
      result: wrap
      """
      with conf_vars(
          {
              (
                  "logging",
                  "logging_config_class",
              ): "tests.jobs.test_triggerer_job_logging.root_has_task_handler",
          }
      ):
          configure_logging()
  
      # check custom config used
      task_logger = logging.getLogger("airflow.task")
      assert_handlers(task_logger, logging.Handler)
  
      # before config
      root_logger = logging.getLogger()
      assert_handlers(root_logger, FileTaskHandler)
      assert triggerer_job_runner.HANDLER_SUPPORTS_TRIGGERER is False
  
      # configure
      triggerer_job_runner.configure_trigger_log_handler()
  
      # after config
      assert triggerer_job_runner.HANDLER_SUPPORTS_TRIGGERER is True
      handlers = assert_handlers(root_logger, TriggererHandlerWrapper)
      # no filters on wrapper handler
      assert handlers[0].filters == []
      # wrapper handler uses handler from airflow.task
      assert handlers[0].base_handler.__class__ == FileTaskHandler
  
imports: from __future__ import annotations
  import importlib
  import logging
  import warnings
  import pytest
  from airflow.config_templates import airflow_local_settings
  from airflow.jobs import triggerer_job_runner
  from airflow.logging_config import configure_logging
  from airflow.providers.amazon.aws.log.s3_task_handler import S3TaskHandler
  from airflow.utils.log.file_task_handler import FileTaskHandler
  from airflow.utils.log.logging_mixin import RedirectStdHandler
  from airflow.utils.log.trigger_handler import DropTriggerLogsFilter, TriggererHandlerWrapper
  from tests.test_utils.config import conf_vars
label_desc: Use image node_id 9 for calling a global function with example usage: test_configure_trigger_log_handler_root_has_task_handler() without return types