用途:面向 Effect 项目的可观测性与时间逻辑技能,覆盖超时、截止时间、休眠、延迟分析跨度与结构化日志。
主要能力:使用 Clock 与 Duration 处理时间,如 const now = yield* Clock.currentTimeMillis、yield* Effect.sleep(Duration.seconds(1));用 Effect.timeout(task, Duration.seconds(2)) 为任务加超时守护;用 Effect.withSpan("operation")(Effect.succeed(1)) 为关键区段包裹跨度;用 Effect.logInfo、Effect.logDebug、Effect.logError 输出结构化日志,并通过 Logger.minimumLogLevel 配合 Layer 设置最低日志级别。
使用方式:优先用 Duration 辅助函数明确单位;包关键区段并附加上下文属性;用结构化日志替代临时的 console 打印。文档强调实现前先检索本地 Effect 源码(docs/effect-source/),关键文件包括 effect/src/Clock.ts、Duration.ts、Effect.ts、Logger.ts、LogLevel.ts,可用 grep -F 检索如 currentTimeMillis、sleep、withSpan、logInfo、minimumLogLevel 等。
适用场景:需要超时与截止时间的逻辑、延迟分析与调试日志、基于时间的协调操作。
限制与注意:避免混用毫秒数字,应统一使用 Duration;外部调用需加超时以免挂起;具体收费、价格与平台信息暂未提供。