loghound 0.0.10 copy "loghound: ^0.0.10" to clipboard
loghound: ^0.0.10 copied to clipboard

AI-friendly local log investigation harness for Dart and Flutter: collect structured app logs, store them as JSON Lines, and query the exact slice you need.

Changelog #

0.0.10 #

  • Add HTTP investigation filters to loghound http list: --path, --method, --status, --since, --until, --limit, and --contains.
  • Add loghound http summary for endpoint-level counts, latest timestamps, statuses, average duration, and failure counts.
  • Add loghound context --around-http <path-or-url-fragment> to build timeline context around a matching HTTP request.
  • Improve HTTP summaries and doctor body coverage by reporting whether request/response bodies were captured separately.
  • Improve subcommand help output with command-specific usage, options, and examples.
  • Document the HTTP investigation workflow and body-capture guidance.

0.0.9 #

  • Add loghound version to print the installed CLI version and loghound update to run dart pub global activate loghound.
  • Fix loghound run timing out while waiting for --vmservice-out-file when the wrapped flutter run process is still alive. LogHound now keeps waiting for the VM Service URI file until Flutter exits.
  • Start paused isolate resume setup before Extension stream setup, and finish initial isolate resume before disposing the VM Service if Extension stream setup fails. This avoids leaving --start-paused Flutter apps stuck when collector initialization partially fails.

0.0.8 #

  • Fix loghound run hanging after the wrapped app exits while the VM Service extension stream is still awaiting events. Collection now races active stream reads against the wrapped process exit signal and stops cleanly.
  • Add a real Dart VM Service regression test that starts a --pause-isolates-on-start app, injects a transient startup connection failure, resumes both the main isolate and a worker isolate named like an asset UTF8 decoder, and verifies that a .loghound session record is written.

0.0.7 #

  • Fix loghound run abandoning VM Service collection after a transient startup connection failure. While the wrapped flutter run process is still active, LogHound now keeps retrying the VM Service connection so --start-paused isolates can be resumed once the service accepts WebSocket clients.
  • Stop those retry attempts when the wrapped Flutter process exits, so run does not hang if the VM Service never becomes reachable.

0.0.6 #

  • Fix loghound run leaving --start-paused Flutter isolates paused when DDS accepts readyToResume but keeps the isolate waiting for a user resume. LogHound now verifies the isolate state after readyToResume and falls back to resume for both startup and worker isolates that are still at PauseStart.

0.0.5 #

  • Harden loghound run isolate resume handling for --start-paused Flutter runs. LogHound now resumes all paused app isolates visible at VM Service connection time, catches PauseStart events without a listener race, and avoids force-resuming through DDS when readyToResume is available.
  • Keep VM Service extension event collection alive when debug stream setup or isolate inspection is slow, unavailable, or racing with app shutdown.
  • Restore the VM Service event factory test seam when a connector is also supplied.

0.0.4 #

  • Fix loghound run leaving isolates spawned after startup paused when flutter run --start-paused is used internally. This prevents large Dio JSON responses from hanging when Dio decodes them in a worker isolate.

0.0.3 #

  • Remove device-specific examples from the README, example docs, and product overview. The default setup now shows loghound run and loghound stay without requiring users to think about a specific simulator or device name.

0.0.2 #

  • Replace the local HTTP receiver capture path with hidden Dart VM Service extension events for debug/profile Flutter sessions.
  • Add loghound run to start flutter run, auto-detect FVM Flutter SDKs, collect VM Service events, and write routed JSONL records under .loghound/.
  • Add loghound stay for a background collector that can discover the active Flutter VM Service and reconnect across app restarts.
  • Remove the old serve/receiver-oriented workflow and the related LOGHOUND_URL, loghound.env, and device binding setup.
  • Route records to .loghound/<flavor>/<platform>/sessions/<session_id>.jsonl, .loghound/<flavor>/<platform>/latest.jsonl, and .loghound/catalog.jsonl.
  • Read legacy loghound/ roots when .loghound/ does not exist, so existing sessions and settings remain discoverable during migration.
  • Make query, tail, latest-error, context, actions, http, body, and stats read routed .loghound/ sessions by default; --file now opts into a single JSONL file explicitly.
  • Keep CLI-side redaction for VM Service collection before records are persisted.
  • Add loghound run --flavor and --dart-define-from-file passthrough for common Flutter launch setups.
  • Add built-in Dio support through LogHoundDioInterceptor, with opt-in HTTP request/response body capture settings.
  • loghound setting with no subcommand now prints one structured JSON record per setting (key/label/description/type/value/default/command) instead of a single flat object; in an interactive terminal it opens a navigable list (↑↓ move, space toggles and saves, →/enter expands the description, q/Esc quits).
  • Add language (en/ja) and context_format (markdown/jsonl) settings; the interactive loghound setting list edits enums by cycling with space, localizes to the language setting, and colorizes on a capable terminal. loghound context uses context_format as its default when --format is not given. NDJSON output stays English and uncolored.
  • Add capture_http_request_body and capture_http_response_body settings so agents can tell whether HTTP body logging is intentionally enabled.
  • Restore non-interactive loghound setting <key> <value> writes and reject unknown setting keys with a non-zero exit.
  • Harden CLI failures for missing Flutter executables, VM Service connection errors, malformed settings files, malformed stdin bytes, and interactive setting write failures.

0.0.1 #

  • Rename package and CLI to loghound.
  • Add local HTTP log receiver.
  • Add JSON Lines log storage.
  • Add AI-friendly query, tail, and latest-error CLI commands.
  • Add context CLI command for Markdown context around the latest warning/error.
  • Add trace_id, request_id, session_id, and user_id query filters.
  • Add streaming reads for query and latest-error scans.
  • Serialize concurrent JSONL appends to preserve valid line boundaries.
  • Add OpenTelemetry-style severity support.
  • Add fire-and-forget Dart HTTP client.
  • Add default redaction for common secret keys and inline header values.
  • Add redaction for common secret-looking value patterns.
  • Bind the receiver to loopback by default and reject oversized request bodies.
  • Document the planned Flutter/API/action observability direction.
  • Add loghound stay with app/flavor/platform/session routing.
  • Add apps, sessions, actions, http, body, and stats CLI commands.
  • Add routed directory storage and session catalog support.
  • Add LogHound.run bootstrap for debug app sessions.
  • Add semantic LogHound.action, screen, error, and http helpers.
  • Show a mascot startup banner on serve / stay (color on a TTY, honoring NO_COLOR).
  • Add SDK-side redaction and HTTP body truncation metadata.
  • Add timeline summaries to context Markdown output.
  • Add OSS release docs, GitHub Actions CI, security policy, contributing guide, and issue templates.
  • Add public API dartdocs, enable public_member_api_docs, add an example/README.md, and update CI to run on master.
0
likes
160
points
72
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

AI-friendly local log investigation harness for Dart and Flutter: collect structured app logs, store them as JSON Lines, and query the exact slice you need.

Repository (GitHub)
View/report issues
Contributing

Topics

#logging #cli #developer-tools #ai

License

MIT (license)

Dependencies

args, dio, vm_service

More

Packages that depend on loghound