bun add logixlysiaimport { Elysia } from 'elysia'
import logixlysia from 'logixlysia' // or import { logixlysia } from 'logixlysia'
const app = new Elysia({
name: 'Elysia with Logixlysia'
})
.use(
logixlysia({
config: {
service: 'api-server',
showStartupMessage: true,
startupMessageFormat: 'banner',
showContextTree: true,
contextDepth: 2,
slowThreshold: 500,
verySlowThreshold: 1000,
timestamp: {
translateTime: 'yyyy-mm-dd HH:MM:ss.SSS'
},
ip: true
}
})
)
.get('/', () => {
return { message: 'Welcome to Basic Elysia with Logixlysia' }
})
app.listen(3000)- Request context: accumulate fields with
mergeContextinto a context tree. Docs - Presets:
dev,prod, andjsonoutput. Docs - File logging: writes to disk with rotation by size, age, or count. Docs
- Adapters: nine built-in destinations, Axiom, Better Stack, ClickHouse, Datadog, HyperDX, Loki, OTLP, PostHog, and Sentry. Docs
- Sampling: head and tail sampling controls log volume. Docs
- Enrichers: add trace, user agent, geo, and size fields to every request. Docs
- Redaction:
autoRedactmasks PII by pattern;logixlysia/desertantadds neural redaction. Config docs, Neural redaction docs - Structured errors:
HttpErrorcarrieswhy,fix, andlink. Docs - Request IDs: read from the incoming request or generated for every request. Docs
- OpenTelemetry: trace correlation and AI usage metrics on the access log. Docs
- WebSocket logging: lifecycle logs via
wrapWs. Docs
Check out the website for more detailed documentation and examples.
Licensed under the MIT License.
