microsoft / microsoft/aspire

aspire logs --tail/-n counts [sys] orchestration lines against the limit, not just app output

Open
#17,699 2 comments 0 reactions 0 assignees View on GitHub
area-app-model area-cli triage:bot-seen
Dominant language
C#
Stars
6.3k
Forks
991
Avg merge
2d 15h
Merged PRs (30d)
196

Description

## Summary

\spire logs --tail N\ (or \-n N\) counts internal \[sys]\ orchestration lines against the limit, meaning you don't reliably get N lines of *application* output.

## Repro

\\\
> aspire logs api --tail 3
[api] [sys] Starting process...: Cmd = npm.cmd, Args = ["run", "dev"]
[api] 2026-05-29T21:34:01.101Z GET /api/db-ping
[api] 2026-05-29T21:34:01.110Z GET /api/mq-ping
\\\

With \--tail 3\ you get **1 sys line + 2 app lines**, not 3 app lines. The \[sys]\ prefix marks these as internal orchestration messages injected by the Aspire host (process start/stop events), not stdout/stderr from the application itself.

## Expected behavior

\--tail N\ should return the last N lines of **application** output (stdout/stderr). Orchestration \[sys]\ events, if shown at all, should either:
- Not count against the tail limit, or
- Be filterable/suppressible (e.g. excluded by default from \--tail\)

## Actual behavior

\[sys]\ lines consume slots from the tail limit, so \--tail 3\ may return fewer than 3 real application log lines if any \[sys]\ events are recent.

## Impact

Scripting and spot-checking scenarios where users do \spire logs api --tail 10\ expecting the last 10 lines of app output. Makes \--tail\ less predictable when a resource has just started or been restarted (when \[sys]\ lines are most likely to appear).

## Environment
- OS: Windows 11
- Aspire SDK: 13.4.0+e18fdb8e989c2d97b41fab57a7857e223a4a3379

## References
- Found during Phase 8 validation of Aspire 13.4 (CLI logs & telemetry filters).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.