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 日志 API。它也可用于保存执行任务的日志。为此,应将其设置为名称为“tasks”的处理器。在这种情况下,它也将用于读取日志以便在 Web UI 中显示。
此处理器支持异步和同步传输。
- 参数:
gcp_key_path (str | None) – Google Cloud 凭据 JSON 文件的路径。如果省略,将使用基于 Application Default Credentials 的授权。
scopes (collections.abc.Collection[str] | None) – 凭据的 OAuth 范围,
name (str | airflow.utils.types.ArgNotSet) – Stackdriver 日志中自定义日志的名称。默认为 'airflow'。Python 日志记录器的名称将在
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) – (可选)条目的受监控资源,默认为全局资源类型。
- scopes: collections.abc.Collection[str] | None[source]¶
- emit(record)[source]¶
实际记录指定的日志记录。
- 参数:
record (logging.LogRecord) – 要记录的记录。
- set_context(task_instance)[source]¶
配置日志记录器以添加有关当前任务的信息。
- 参数:
task_instance (airflow.models.TaskInstance) – 当前执行的任务