Client Hooks
React Client Hooks Reference
Logix includes React client hooks for live SSE log streaming and historical query fetching.
1. getStream(filters?)
Establishes a persistent SSE stream to display incoming tail logs in real time. It features automatic reconnection and caps memory buffer at 5,000 logs.
'use client';
import { getStream } from '@chefu-tech/logix-next';
export default function TerminalStream() {
const { data: logs, connected, isLoading, disconnect } = getStream({
type: 'error',
search: 'auth_failed',
});
return (
<div>
<div>Status: {connected ? 'LIVE' : 'DISCONNECTED'}</div>
{logs.map((log) => (
<div key={log.id}>[{log.ts}] {log.level}: {log.message}</div>
))}
</div>
);
}2. getLogs(filters?)
Executes analytical queries against ClickHouse. Includes built-in request deduplication to handle React 18 Strict Mode double mounts.
'use client';
import { getLogs } from '@chefu-tech/logix-next';
export default function HistoricalQueryComponent() {
const { data: logs, isLoading, refetch } = getLogs({
search: 'checkout',
appName: 'web-storefront',
limit: 50,
});
if (isLoading) return <div>Querying ClickHouse database...</div>;
return (
<div>
<button onClick={() => refetch()}>Refresh Data</button>
{logs?.map((log: any, idx: number) => (
<div key={idx}>{log.message}</div>
))}
</div>
);
}