feat(log): App日志目录扁平化为 MeowOS/logs/<包名>/ (agent-198, 用户定案) — launcher MEOW_LOG_DIR 注入改 logs/<appid>+mkdir_p; SDK meow_ui_log.c 去 apps/ 嵌套; 卡可用时一次性迁移 logs/apps/* 并入新路径; APPS.md/APP_LOG_MANAGER.md 同步
launcher→61f6b0db; files→ac2c2781; 编译0warning(新增代码)
This commit is contained in:
1 parent
32a6a8ed1e
commit
5f7e7542bd
6 files changed
+132
-5
No files matched your search
@@ -194,7 +194,7 @@
|
||||
- **⚠️ 应用启动后须防 goodix 幽灵触摸**(v6.8,Bug 2 根因):goodix 在启动触摸的尾部发出一段幽灵触摸(实测启动后 1.2-2.25s,§18.16),无防护时应用会**误把幽灵当下按而立即退出画 BYE**,且 launcher 菜单会把同一幽灵重放成行点击而**重开应用**(用户看到「bye 后又回 hello 主界面、需再点一次」)。hello v6.8 增加 `COOLDOWN_MS=2500`:启动后前 2.5s 忽略一切按下边沿,只有用户**真正**的下按才触发退出。launcher 侧同步在应用退出后 drain + 冷却(见 §4.7)。
|
||||
- 沉浸应用写 `/tmp/meowapp_state`,处理 `SIGUSR1` 作为「返回事件」
|
||||
- 应用异常卡死 → 虚拟返回键(若可见)→ SIGKILL;沉浸态卡死 → 音量减连按 3 次(强杀序列)
|
||||
- **应用日志**:launcher 通过环境变量 `MEOW_LOG_DIR` 告知 TF 卡日志目录(无卡时不设),应用自行决定文件名(示例 hello 写 `apps/<app_id>/logs/<ts>_<pid>.log`;[源:审计 2026-08-30]);启动时先 drain 输入队列、只响应"按下边沿"退出(释放事件/轨迹事件忽略)
|
||||
- **应用日志**:launcher 通过环境变量 `MEOW_LOG_DIR` 直接告知 TF 卡上该应用的日志目录 `MeowOS/logs/<app_id>/`(无卡时不设),应用写 `<ts>_<pid>.log`([源:M2.x 简化 logs/apps/<app_id>/logs → logs/<app_id>]);启动时先 drain 输入队列、只响应"按下边沿"退出(释放事件/轨迹事件忽略)
|
||||
|
||||
### 3.6 应用运行期卡移除(M2.11 最佳努力)
|
||||
|
||||
@@ -275,12 +275,12 @@ meow_launcherd --sim-exit N # 菜单打开 N 毫秒后模拟退出
|
||||
|
||||
### 4.5 统一日志系统(MeowAPPs 组件共用)
|
||||
|
||||
- **默认位置**:TF 卡 `/usr/data/mnt/sd_0/MeowOS/logs/meow_<bootts>.log`(如 `meow_20260828_020123.log`;`bootts` = 当前墙钟 − /proc/uptime,同一 boot 会话内多次启动共用同一文件)。**系统日志**(launcher/watchdog 等 MeowOS 组件)写此文件;**应用日志**另按 `apps/<app_id>/logs/<ts>_<pid>.log` 分文件(见本 §4.5「组件环境变量」)。⚠️ `meow_bootmenu` 仍用 `MeowAPPs/logs`(代码侧不一致;bootmenu 与 launcher 日志目录**待统一为 `MeowOS/logs`**,[源:审计 2026-08-30])
|
||||
- **默认位置**:TF 卡 `/usr/data/mnt/sd_0/MeowOS/logs/meow_<bootts>.log`(如 `meow_20260828_020123.log`;`bootts` = 当前墙钟 − /proc/uptime,同一 boot 会话内多次启动共用同一文件)。**系统日志**(launcher/watchdog 等 MeowOS 组件)写此文件;**应用日志**另按 `logs/<app_id>/<ts>_<pid>.log` 分文件(`<app_id>` 即该应用目录;见本 §4.5「组件环境变量」)。⚠️ `meow_bootmenu` 仍用 `MeowAPPs/logs`(代码侧不一致;bootmenu 与 launcher 日志目录**待统一为 `MeowOS/logs`**,[源:审计 2026-08-30])。旧布局 `logs/apps/<app_id>/logs/` 已废弃:launcher 启动时一次性迁移到 `logs/<app_id>/` 后删除
|
||||
- **无 TF 卡 / 卡晚挂载(S90 早于卡挂载)**:**开不了卡日志**——日志落 **/tmp 启动缓冲**(`/tmp/meow_boot.log`,上限 256KB 滚动),**绝不写板载存储**(/usr/data 只剩 ~10MB);**卡出现后自动迁移**(主循环 ~1s 周期重试 + 输入设备重试循环内也检查;无需开菜单)——`log_poll_card()` 打开卡日志并把 /tmp 缓冲整段搬入后删除 /tmp 文件
|
||||
- **容量上限**:logs/ 目录总量 1GB,开机时超限按 mtime 删最旧
|
||||
- **组件环境变量**:
|
||||
- `MEOW_LOG_FILE` → meow_watchdog:追加写同一 boot 日志文件(无该变量则走 stderr)
|
||||
- `MEOW_LOG_DIR` → 应用:日志目录(每 App `MeowOS/logs/apps/<app_id>/logs/`,应用写 `<ts>_<pid>.log`;[源:审计 2026-08-30])
|
||||
- `MEOW_LOG_DIR` → 应用:日志目录(每 App `MeowOS/logs/<app_id>/`,应用写 `<ts>_<pid>.log`;[源:M2.x 简化,弃 `logs/apps/<app_id>/logs/`])
|
||||
- 内容:时间戳 + 全部按键边沿/菜单/应用事件(真机按键证据)
|
||||
- PID 文件:`/usr/data/meow_launcherd.pid`;播放器发现:扫描 `/proc/N/exe` == `/usr/bin/hiby_player`
|
||||
|
||||
|
||||
Reference in new issue
Block a user