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 引导地址,可以是
auto
,localhost: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的次要版本之间发生变化。