CLI previewInstall commands shown on this site are not released yet.

DocsComponentsAdvanced

LogStream

React example follows below.
ts
import { LogStream } from "@grassroot/ui-react/advanced";
const source = [
{ level: "INFO", message: "GET /v2/ledger/entries 200 · 42ms" },
{ level: "WARN", message: "retry queue depth 12 - approaching threshold" },
{ level: "ERR", message: "analytics-ingest connection refused · retrying" },
];
<LogStream source={source} title="ledger-api · production" />
ts
<script setup lang="ts">
import { LogStream } from "@grassroot/ui-vue";
const source = [
{ level: "INFO", message: "GET /v2/ledger/entries 200 · 42ms" },
{ level: "WARN", message: "retry queue depth 12 - approaching threshold" },
{ level: "ERR", message: "analytics-ingest connection refused · retrying" },
];
</script>
<template>
<LogStream :source="source" title="ledger-api · production" />
</template>
ts
import { Component } from "@angular/core";
import { GrassrootLogStream } from "@grassroot/ui-angular";
@Component({
selector: "app-example",
standalone: true,
imports: [GrassrootLogStream],
template: `
<grassroot-log-stream [source]="source" title="ledger-api · production" />
`,
})
export class ExampleComponent {
readonly source = [
{ level: "INFO", message: "GET /v2/ledger/entries 200 · 42ms" },
{ level: "WARN", message: "retry queue depth 12 - approaching threshold" },
{ level: "ERR", message: "analytics-ingest connection refused · retrying" },
];
}
ts
<script lang="ts">
import { LogStream } from "@grassroot/ui-svelte";
const source = [
{ level: "INFO", message: "GET /v2/ledger/entries 200 · 42ms" },
{ level: "WARN", message: "retry queue depth 12 - approaching threshold" },
{ level: "ERR", message: "analytics-ingest connection refused · retrying" },
];
</script>
<LogStream source={source} title="ledger-api · production" />
ts
import { LogStream } from "@grassroot/ui-solid";
const source = [
{ level: "INFO", message: "GET /v2/ledger/entries 200 · 42ms" },
{ level: "WARN", message: "retry queue depth 12 - approaching threshold" },
{ level: "ERR", message: "analytics-ingest connection refused · retrying" },
];
export function Example() {
return (
<>
<LogStream source={source} title="ledger-api · production" />
</>
);
}

Installation

bash
pnpm dlx grassroot add ui/log-stream
bash
npx grassroot@latest add ui/log-stream
bash
yarn dlx grassroot add ui/log-stream
bash
bunx grassroot add ui/log-stream

API Reference

LogStreamProps
PropTypeDefault
sourcerequiredLines to stream, cycled in order.LogEntry[]
titleTerminal title shown in the bar.string | undefined"stream"
intervalMsAppend interval in ms.number | undefined1900
prefillHow many lines to seed immediately on mount.number | undefined8
maxLinesMax retained lines (oldest dropped).number | undefined60
filtersShow the per-level filter chips.boolean | undefinedtrue
pausedPause streaming.boolean | undefinedfalse