cb6d9e61d1
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
60 lines
2.1 KiB
Markdown
60 lines
2.1 KiB
Markdown
---
|
|
name: android_logcat
|
|
kind: function
|
|
lang: bash
|
|
domain: infra
|
|
version: "1.0.0"
|
|
purity: impure
|
|
signature: "android_logcat([--serial <S>] [--package <name>] [--level <V|D|I|W|E|F>] [--lines <N>] [--clear])"
|
|
description: "Lee logcat del device/emulador, opcionalmente filtrado por package y nivel. Multi-emulator via --serial."
|
|
tags: [android, adb, logcat, wsl]
|
|
uses_functions: ["adb_wsl_bash_infra"]
|
|
uses_types: []
|
|
returns: []
|
|
returns_optional: false
|
|
error_type: "error_go_core"
|
|
imports: []
|
|
params:
|
|
- name: "--serial <S>"
|
|
desc: "Optional target device/emulator serial. Default: first device detected."
|
|
- name: "--package <name>"
|
|
desc: "Filter by app package (resolves PID via adb shell pidof)"
|
|
- name: "--level <L>"
|
|
desc: "Min log level V/D/I/W/E/F, default I"
|
|
- name: "--lines <N>"
|
|
desc: "Dump last N lines and exit. Default: follow indefinidamente"
|
|
- name: "--clear"
|
|
desc: "Clear log buffer before reading"
|
|
output: "Logcat output a stdout. Follow indefinido sin --lines. Exit 130 si Ctrl-C. Exit 2 si --package y el proceso no corre."
|
|
tested: false
|
|
tests: []
|
|
test_file_path: ""
|
|
file_path: "bash/functions/infra/android_logcat.sh"
|
|
---
|
|
|
|
## Ejemplo
|
|
|
|
```bash
|
|
# Follow completo sin filtros
|
|
android_logcat
|
|
|
|
# Solo logs de una app, nivel Warning y superior
|
|
android_logcat --package com.example.myapp --level W
|
|
|
|
# Dump de las últimas 200 líneas y salir
|
|
android_logcat --lines 200
|
|
|
|
# Limpiar buffer y hacer follow solo de errores de la app
|
|
android_logcat --clear --package com.example.myapp --level E
|
|
```
|
|
|
|
## Notas
|
|
|
|
- Resuelve `adb` o `adb.exe` en PATH (compatible con WSL2 usando el binario Windows).
|
|
- `--package` usa `adb shell pidof -s` para obtener el PID actual. Si la app no está corriendo, sale con exit 2.
|
|
- `--lines N` activa modo dump (`-d -t N`); sin él, el follow es indefinido hasta Ctrl-C (exit 130).
|
|
- `--clear` ejecuta `adb logcat -c` antes de leer, descartando el buffer acumulado.
|
|
- El filtro de nivel se aplica como `*:<level>` al final del comando logcat.
|
|
- En follow mode, `trap INT TERM` garantiza exit limpio (exit 130) al interrumpir.
|
|
- CR (`\r`) del output de `adb.exe` en WSL se limpia al resolver el PID.
|