feat: 重构配置布局,server.listen/storage/logging + probes.execution 分组
- 新增 server.listen (host/port)、server.storage (dataDir/retention)、 server.logging 分组 - 新增 probes.execution (maxConcurrentChecks) 分组,替代顶层 runtime - 旧配置入口 (runtime/logging/server.host/server.port/server.dataDir) 启动期拒绝 - 更新 types.ts、builder.ts、config-loader.ts 适配新路径 - 更新 probe-config.schema.json、probes.example.yaml、README.md、 DEVELOPMENT.md - 补充 config-loader 和 variables 测试覆盖新路径和旧入口拒绝 - 同步 5 个 delta specs 到主规范 (probe-config, config-variables, data-retention, probe-engine, runtime-logging) - 归档 openspec change reorganize-config-layout
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
系统 SHALL 在配置解析成功后初始化统一运行时 logger。logger SHALL 同时输出命令行 pretty 日志和文件 JSONL 日志。命令行输出、文件输出和文件滚动 SHALL 始终启用,不提供关闭开关。
|
||||
|
||||
#### Scenario: 默认初始化 logger
|
||||
- **WHEN** 配置文件未声明 `logging`
|
||||
- **WHEN** 配置文件未声明 `server.logging`
|
||||
- **THEN** 系统 SHALL 使用默认等级 `info` 初始化 console pretty 输出和 `<resolved dataDir>/logs/dial.log` 文件 JSONL 输出
|
||||
|
||||
#### Scenario: 模块 child logger
|
||||
@@ -20,14 +20,14 @@
|
||||
- **THEN** 系统 SHALL 通过正式 logger 输出 `fatal` 日志并以非零状态退出
|
||||
|
||||
### Requirement: 日志等级语义
|
||||
系统 SHALL 支持 `trace`、`debug`、`info`、`warn`、`error` 和 `fatal` 六个日志等级。`logging.level` SHALL 作为全局默认等级,`logging.console.level` 和 `logging.file.level` SHALL 在省略时继承全局等级。
|
||||
系统 SHALL 支持 `trace`、`debug`、`info`、`warn`、`error` 和 `fatal` 六个日志等级。`server.logging.level` SHALL 作为全局默认等级,`server.logging.console.level` 和 `server.logging.file.level` SHALL 在省略时继承全局等级。
|
||||
|
||||
#### Scenario: 目的地等级继承
|
||||
- **WHEN** 配置只声明 `logging.level: warn`
|
||||
- **WHEN** 配置只声明 `server.logging.level: warn`
|
||||
- **THEN** console 和 file 输出均 SHALL 使用 `warn` 作为最低输出等级
|
||||
|
||||
#### Scenario: 目的地等级覆盖
|
||||
- **WHEN** 配置声明 `logging.level: info`、`logging.console.level: warn` 和 `logging.file.level: debug`
|
||||
- **WHEN** 配置声明 `server.logging.level: info`、`server.logging.console.level: warn` 和 `server.logging.file.level: debug`
|
||||
- **THEN** console SHALL 输出 `warn` 及以上日志,file SHALL 输出 `debug` 及以上日志
|
||||
|
||||
#### Scenario: 默认不输出 debug 检查摘要
|
||||
@@ -35,7 +35,7 @@
|
||||
- **THEN** 每次检查的 debug 摘要 SHALL NOT 输出到 console 或 file
|
||||
|
||||
### Requirement: 文件日志滚动
|
||||
系统 SHALL 对文件日志启用滚动策略。滚动 SHALL 在 `logging.file.rotation.size` 或 `logging.file.rotation.frequency` 任一条件满足时触发。`logging.file.rotation.maxFiles` SHALL 表示最多保留的归档文件数量,不包含当前正在写入的日志文件。
|
||||
系统 SHALL 对文件日志启用滚动策略。滚动 SHALL 在 `server.logging.file.rotation.size` 或 `server.logging.file.rotation.frequency` 任一条件满足时触发。`server.logging.file.rotation.maxFiles` SHALL 表示最多保留的归档文件数量,不包含当前正在写入的日志文件。
|
||||
|
||||
#### Scenario: 按大小滚动
|
||||
- **WHEN** 当前日志文件达到配置的 `rotation.size`
|
||||
|
||||
Reference in New Issue
Block a user