A query tab derives a new result tab from the active log view. Use Rows() and LINQ-style methods to filter, project, group, summarize, order, and keep the output inside LogAce.
Rows() .GroupBy(r => r.Col("Status")) .Select(g => new { Status = g.Key, Count = g.Count() }) .OrderByDescending(x => x.Count)
A query result opens as a normal tab. You can search it, export it, duplicate it, save it in a session, or edit the query definition later.
The first useful queries are usually small: narrow to matching lines, count by status, summarize errors, or extract the few fields you need for the next step.
Rows() .Where(r => Contains(r.RawLine, "error"))
Rows() .GroupBy(r => r.Col("Status")) .Select(g => new { Status = g.Key, Count = g.Count() }) .OrderByDescending(x => x.Count)
Rows() .Summarize(g => new { Total = g.Count(), Errors = g.CountIf( r => r.Col("Level") == "Error") })
Rows() .Where(r => r.TotalCols == 3 && r.RowNumber > 1 && r.Line(r.RowNumber - 1) .Col("Marker") == "BEGIN") .Select(r => new { Port = r.Col("s-port"), SecondColumn = r.Col(2), r.RawLine })
Rows() .GroupBy(r => r.Service) .Select(g => new { Service = g.Key, P95Ms = g.Percentile( r => r.Col("DurationMs"), 95), MaxMs = g.Max( r => r.Col("DurationMs").AsDouble()) }) .OrderByDescending(x => x.P95Ms)
logace --query-source ./app.log \ --query-text "Rows().Where(r => r.Level == \"Error\")" logace --query-source ./app.log \ --query-file ./queries/errors-by-service.txt \ --query-mode live
The same query can be a one-shot snapshot or a live result tab. When new rows can be folded into the result cleanly, LogAce keeps it updating. When they cannot, it opens as a snapshot instead of pretending.
Some useful questions need the whole current view at once: profile changes, schema changes, expression edits, or query shapes that cannot be updated row by row. Those still work; they just run as snapshots.
Queries use the same helpers as Expression Filters: direct field names, Col("name"), Col(1), Has(...), RawLine, RowNumber, Timestamp, TotalRows, TotalCols, Line(...), and Lines(...).