94 lines
3.2 KiB
Markdown
94 lines
3.2 KiB
Markdown
---
|
|
ui_doc_type: view
|
|
view_id: console
|
|
status: 구현됨
|
|
frame: null
|
|
source_evidence:
|
|
- type: code
|
|
path: lib/src/features/console/console_page.dart
|
|
notes: "ConsolePage, logcat filter controls, _LogcatLevelFilter, log viewer"
|
|
- type: docs
|
|
path: README.md
|
|
notes: "adb logcat 콘솔 뷰어 scope"
|
|
- type: user
|
|
path: null
|
|
notes: "agent-ui 생성 요청"
|
|
regions:
|
|
- console.device-context
|
|
- console.filter-controls
|
|
- console.stream-actions
|
|
- console.log-output
|
|
---
|
|
|
|
# Console
|
|
|
|
View ID: `console`
|
|
|
|
Frame:
|
|
- 없음
|
|
|
|
Status: `구현됨`
|
|
|
|
## Source Evidence
|
|
|
|
| Type | Path | Notes |
|
|
|------|------|-------|
|
|
| code | `lib/src/features/console/console_page.dart` | `ConsolePage`, logcat filter controls, `_LogcatLevelFilter`, log viewer |
|
|
| docs | `README.md` | `adb logcat` 콘솔 뷰어 scope |
|
|
| user | 없음 | agent-ui 생성 요청 |
|
|
|
|
## Purpose
|
|
|
|
선택된 Android device의 logcat stream을 보고, text/level filter와 pause/clear/copy action으로 설치 후 문제를 빠르게 확인한다.
|
|
|
|
## Primary Users
|
|
|
|
- 설치 후 앱 실행 로그를 확인하는 개발자 또는 QA 담당자
|
|
|
|
## Primary Tasks
|
|
|
|
- device 선택 여부를 확인한다.
|
|
- 패키지, 태그, 텍스트 기준으로 log line을 필터링한다.
|
|
- ALL/DEBUG/INFO/WARN/ERROR level을 선택한다.
|
|
- log stream을 일시정지/재개, 지우기, 복사한다.
|
|
|
|
## Information Priority
|
|
|
|
1. 현재 선택 device 또는 device 미선택 상태
|
|
2. filter/level/action controls
|
|
3. dark log output region과 error/loading state
|
|
|
|
## Regions
|
|
|
|
| Region ID | Purpose | Component | Priority | Notes |
|
|
|-----------|---------|-----------|----------|-------|
|
|
| `console.device-context` | 현재 device displayName/serial 또는 미선택 상태 표시 | 없음 | medium | `console-selected-device-label`, `console-no-device-label` |
|
|
| `console.filter-controls` | text filter와 level segmented control | 없음 | high | filter TextField, `_LogcatLevelFilter` |
|
|
| `console.stream-actions` | pause/resume, clear, copy visible logs | 없음 | high | icon button group |
|
|
| `console.log-output` | level-colored log line list | `logcat-viewer` | high | dark `DecoratedBox` 안의 `ListView.builder` |
|
|
|
|
## Actions
|
|
|
|
| Action ID | Trigger | Result | Guard |
|
|
|-----------|---------|--------|-------|
|
|
| `console.filter-text` | filter TextField 변경 | visible log lines를 text 기준으로 필터링 | 없음 |
|
|
| `console.clear-filter` | suffix close icon | filter text 초기화 | 없음 |
|
|
| `console.filter-level` | level segmented control 선택 | selected level 이상/해당 log 표시 | 없음 |
|
|
| `console.pause-toggle` | pause/play icon | stream 반영을 일시정지 또는 재개 | 없음 |
|
|
| `console.clear-logs` | delete icon | 현재 log lines 제거 | 없음 |
|
|
| `console.copy-visible-logs` | copy icon | visible log lines를 clipboard로 복사 | live logs 있음 |
|
|
|
|
## States
|
|
|
|
- loading: logcat session 시작 중 indicator를 표시한다.
|
|
- empty: device가 없거나 log line이 없으면 빈 log viewer 상태가 된다.
|
|
- error: logcat starter error를 log output 중앙에 표시한다.
|
|
- permission-denied: device 접근 문제는 error state로 표시한다.
|
|
|
|
## Open Questions
|
|
|
|
- 없음
|
|
|
|
## Decision History
|
|
|
|
- 2026-06-25: logcat 제어와 출력 영역을 `console` view로 기록했다.
|