Basic Usage Examples
Common patterns and examples for using the Lightning Logs SDK.
Complete Example
import { LightningLogsClient } from '@lightning-logs/sdk'
import { createClient } from '@supabase/supabase-js'
// Initialize clients
const supabase = createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
)
const client = new LightningLogsClient({
baseURL: process.env.NEXT_PUBLIC_SUPABASE_URL!,
apiKey: process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
getAuthToken: async () => {
const { data: { session } } = await supabase.auth.getSession()
return session?.access_token || null
}
})
// Ingest logs
await client.logs.ingest([
{
ts: new Date().toISOString(),
level: 'info',
msg: 'User logged in',
service: 'api'
}
])
// Search logs
const results = await client.logs.search({
tsFrom: '2025-01-15T00:00:00Z',
tsTo: '2025-01-15T23:59:59Z',
query: "level = 'error'"
})
console.log(`Found ${results.data.length} errors`)