ray.util.state.get_log#

ray.util.state.get_log(address: str | None = None, node_id: str | None = None, node_ip: str | None = None, filename: str | None = None, actor_id: str | None = None, task_id: str | None = None, pid: int | None = None, follow: bool = False, tail: int = -1, timeout: int = 30, suffix: str = 'out', encoding: str | None = 'utf-8', errors: str | None = 'strict', submission_id: str | None = None, attempt_number: int = 0, _interval: float | None = None) Generator[str, None, None][源代码]#

根据文件名或某些实体ID(pid、actor id、task id)检索日志文件。

示例

import ray
from ray.util.state import get_log

# Node id could be retrieved from list_nodes() or ray.nodes()
node_id = ray.nodes()[0]["NodeID"]
filename = "raylet.out"
for l in get_log(filename=filename, node_id=node_id):
   print(l)
[2023-05-19 12:35:18,347 I 4259 68399276] (raylet) io_service_pool.cc:35: IOServicePool is running with 1 io_service.
[2023-05-19 12:35:18,348 I 4259 68399276] (raylet) store_runner.cc:32: Allowing the Plasma store to use up to 2.14748GB of memory.
[2023-05-19 12:35:18,348 I 4259 68399276] (raylet) store_runner.cc:48: Starting object store with directory /tmp, fallback /tmp/ray, and huge page support disabled
参数:
  • address – Ray 引导地址,可以是 autolocalhost:6379。如果未指定,它将从初始化的 Ray 集群中获取。

  • node_id – 包含日志的节点的ID。

  • node_ip – 包含日志的节点的IP地址。(在识别节点时,必须提供node_id和node_ip中的至少一个)。

  • filename – 要检索的文件名(相对于 ray 日志目录)。

  • actor_id – 如果从演员获取日志,则为演员的ID。

  • task_id – 如果从非并发执行者获取日志,请使用任务ID。对于并发执行者,请使用执行者ID查询日志。

  • pid – 如果获取由工作进程生成的日志,则为工作进程的PID。当使用pid查询时,必须提供node_id或node_ip。

  • follow – 当设置为 True 时,日志将被流式传输并跟随。

  • tail – 从日志文件末尾获取的行数。设置为 -1 以获取整个日志。

  • timeout – 获取日志时发出的请求的最大超时时间。

  • suffix – 如果通过任务/工作者/演员的ID查询日志文件的后缀,默认为“out”。

  • encoding – 用于解码日志文件内容的编码。默认是“utf-8”。使用 None 直接获取二进制数据。

  • errors – 用于解码错误的错误处理方案。默认是“strict”。参见 https://docs.python.org/3/library/codecs.html#error-handlers

  • submission_id – 从提交作业获取日志时的作业提交ID。

  • attempt_number – 如果获取由任务生成的日志,则为任务的尝试次数。

  • _interval – 当 follow=True 时,每隔多少秒打印新日志。

返回:

一个日志行生成器,SendType 和 ReturnType 为 None。

抛出:

RayStateApiException – 如果CLI未能查询数据。

开发者API: 此API可能会在Ray的次要版本之间发生变化。