airflow.providers.google.cloud.log.stackdriver_task_handler
¶
與 Stackdriver 整合的處理器。
模組內容¶
類別¶
直接發出 Stackdriver 日誌 API 呼叫的處理器。 |
屬性¶
- airflow.providers.google.cloud.log.stackdriver_task_handler.DEFAULT_LOGGER_NAME = 'airflow'[source]¶
- class airflow.providers.google.cloud.log.stackdriver_task_handler.StackdriverTaskHandler(gcp_key_path=None, scopes=_DEFAULT_SCOPESS, name=NOTSET, transport=BackgroundThreadTransport, resource=_GLOBAL_RESOURCE, labels=None, gcp_log_name=DEFAULT_LOGGER_NAME)[source]¶
基底類別:
logging.Handler
直接發出 Stackdriver 日誌 API 呼叫的處理器。
這是一個 Python 標準的
logging
處理器,可用於將 Python 標準日誌訊息直接路由到 Stackdriver Logging API。它也可以用於儲存執行中任務的日誌。若要執行此操作,您應將其設定為名稱為 “tasks” 的處理器。在這種情況下,它也將用於讀取日誌以在 Web UI 中顯示。
此處理器同時支援非同步和同步傳輸。
- 參數
gcp_key_path (str | None) – Google Cloud 憑證 JSON 檔案的路徑。如果省略,將使用基於應用程式預設憑證的授權。
scopes (collections.abc.Collection[str] | None) – 憑證的 OAuth 範圍。
name (str | airflow.utils.types.ArgNotSet) – Stackdriver Logging 中自訂日誌的名稱。預設為 ‘airflow’。Python logger 的名稱將在
python_logger
欄位中表示。transport (type[google.cloud.logging.handlers.transports.Transport]) – 用於建立新傳輸物件的類別。它應從基礎
google.cloud.logging.handlers.Transport
類型擴展,並實作 :meth`google.cloud.logging.handlers.Transport.send`。預設為google.cloud.logging.handlers.BackgroundThreadTransport
。另一個選項是google.cloud.logging.handlers.SyncTransport
。resource (google.cloud.logging.Resource) – (選用) 日誌條目的監控資源,預設為全域資源類型。
- emit(record)[source]¶
實際記錄指定的日誌記錄。
- 參數
record (logging.LogRecord) – 要記錄的記錄。
- set_context(task_instance)[source]¶
設定記錄器以新增目前任務的相關資訊。
- 參數
task_instance (airflow.models.TaskInstance) – 目前執行的任務
- read(task_instance, try_number=None, metadata=None)[source]¶
從 Stackdriver logging 讀取給定任務實例的日誌。