airflow.providers.google.cloud.log.stackdriver_task_handler
¶
与 Stackdriver 集成的处理程序。
模块内容¶
类¶
直接调用 Stackdriver 日志 API 的处理程序。 |
属性¶
- 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)[源代码]¶
-
直接调用 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 记录器的名称将表示在
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) – (可选)条目的受监控资源,默认为全局资源类型。
labels (dict[str, str] | None) – (可选)条目的标签映射。
- emit(record)[来源]¶
实际记录指定的日志记录。
- 参数
record (logging.LogRecord) – 要记录的记录。
- set_context(task_instance)[来源]¶
配置记录器以添加有关当前任务的信息。
- 参数
task_instance (airflow.models.TaskInstance) – 当前执行的任务