class_docstr: Task log reader.
class_docstr_tok: ["Task","log","reader","."]
docstr: Checks if a read operation is supported by a current log handler.
docstr_tok: ["Checks","if","a","read","operation","is","supported","by","a","current","log","handler","."]
code: def supports_read(self):
      """Checks if a read operation is supported by a current log handler."""
      return hasattr(self.log_handler, "read")
  
file_path: airflow/airflow/utils/log/log_reader.py
imports: from __future__ import annotations
  import logging
  import time
  from functools import cached_property
  from typing import TYPE_CHECKING, Iterator
  from airflow.configuration import conf
  from airflow.utils.helpers import render_log_filename
  from airflow.utils.log.logging_mixin import ExternalLoggingMixin
  from airflow.utils.session import NEW_SESSION, provide_session
  from airflow.utils.state import TaskInstanceState
label_desc: Use image node_id 4 for calling the TaskLogReader obj's underlying member method code with example usage: obj.supports_read() and returns: hasattr