18:12:18.699[api-server] π¦ GET /20010ms18:12:19.120[api-server] π¦ GET /custom2000.14msHello from custom logger ββ feature custom-route-log ββ userId 12318:12:20.045[api-server] π¦ GET /status/4004000.12ms18:12:21.089[api-server] π¦ GET /status/4044040.13ms18:12:22.301[api-server] π¦ GET /boom5000.45msBoom! ββ feature custom-route-log ββ userId 123 ββ error Boom!18:12:23.100[api-server] π¦ POST /users20112msUser signup ββ email ada@example.com ββ feature signup-flow18:12:30.225[api-server] π¦ PATCH /items/1235001.2sPayment failedβ‘ slow ββ error upstream timeout18:12:18.699[api-server] π¦ GET /20010ms18:12:19.120[api-server] π¦ GET /custom2000.14msHello from custom logger ββ feature custom-route-log ββ userId 12318:12:20.045[api-server] π¦ GET /status/4004000.12ms18:12:21.089[api-server] π¦ GET /status/4044040.13ms18:12:22.301[api-server] π¦ GET /boom5000.45msBoom! ββ feature custom-route-log ββ userId 123 ββ error Boom!18:12:23.100[api-server] π¦ POST /users20112msUser signup ββ email ada@example.com ββ feature signup-flow18:12:30.225[api-server] π¦ PATCH /items/1235001.2sPayment failedβ‘ slow ββ error upstream timeout18:12:18.699[api-server] π¦ GET /20010ms18:12:19.120[api-server] π¦ GET /custom2000.14msHello from custom logger ββ feature custom-route-log ββ userId 12318:12:20.045[api-server] π¦ GET /status/4004000.12ms18:12:21.089[api-server] π¦ GET /status/4044040.13ms18:12:22.301[api-server] π¦ GET /boom5000.45msBoom! ββ feature custom-route-log ββ userId 123 ββ error Boom!18:12:23.100[api-server] π¦ POST /users20112msUser signup ββ email ada@example.com ββ feature signup-flow18:12:30.225[api-server] π¦ PATCH /items/1235001.2sPayment failedβ‘ slow ββ error upstream timeout18:12:18.699[api-server] π¦ GET /20010ms18:12:19.120[api-server] π¦ GET /custom2000.14msHello from custom logger ββ feature custom-route-log ββ userId 12318:12:20.045[api-server] π¦ GET /status/4004000.12ms18:12:21.089[api-server] π¦ GET /status/4044040.13ms18:12:22.301[api-server] π¦ GET /boom5000.45msBoom! ββ feature custom-route-log ββ userId 123 ββ error Boom!18:12:23.100[api-server] π¦ POST /users20112msUser signup ββ email ada@example.com ββ feature signup-flow18:12:30.225[api-server] π¦ PATCH /items/1235001.2sPayment failedβ‘ slow ββ error upstream timeout18:12:18.699[api-server] π¦ GET /20010ms18:12:19.120[api-server] π¦ GET /custom2000.14msHello from custom logger ββ feature custom-route-log ββ userId 12318:12:20.045[api-server] π¦ GET /status/4004000.12ms18:12:21.089[api-server] π¦ GET /status/4044040.13ms18:12:22.301[api-server] π¦ GET /boom5000.45msBoom! ββ feature custom-route-log ββ userId 123 ββ error Boom!18:12:23.100[api-server] π¦ POST /users20112msUser signup ββ email ada@example.com ββ feature signup-flow18:12:30.225[api-server] π¦ PATCH /items/1235001.2sPayment failedβ‘ slow ββ error upstream timeout18:12:18.699[api-server] π¦ GET /20010ms18:12:19.120[api-server] π¦ GET /custom2000.14msHello from custom logger ββ feature custom-route-log ββ userId 12318:12:20.045[api-server] π¦ GET /status/4004000.12ms18:12:21.089[api-server] π¦ GET /status/4044040.13ms18:12:22.301[api-server] π¦ GET /boom5000.45msBoom! ββ feature custom-route-log ββ userId 123 ββ error Boom!18:12:23.100[api-server] π¦ POST /users20112msUser signup ββ email ada@example.com ββ feature signup-flow18:12:30.225[api-server] π¦ PATCH /items/1235001.2sPayment failedβ‘ slow ββ error upstream timeout18:12:18.699[api-server] π¦ GET /20010ms18:12:19.120[api-server] π¦ GET /custom2000.14msHello from custom logger ββ feature custom-route-log ββ userId 12318:12:20.045[api-server] π¦ GET /status/4004000.12ms18:12:21.089[api-server] π¦ GET /status/4044040.13ms18:12:22.301[api-server] π¦ GET /boom5000.45msBoom! ββ feature custom-route-log ββ userId 123 ββ error Boom!18:12:23.100[api-server] π¦ POST /users20112msUser signup ββ email ada@example.com ββ feature signup-flow18:12:30.225[api-server] π¦ PATCH /items/1235001.2sPayment failedβ‘ slow ββ error upstream timeout18:12:18.699[api-server] π¦ GET /20010ms18:12:19.120[api-server] π¦ GET /custom2000.14msHello from custom logger ββ feature custom-route-log ββ userId 12318:12:20.045[api-server] π¦ GET /status/4004000.12ms18:12:21.089[api-server] π¦ GET /status/4044040.13ms18:12:22.301[api-server] π¦ GET /boom5000.45msBoom! ββ feature custom-route-log ββ userId 123 ββ error Boom!18:12:23.100[api-server] π¦ POST /users20112msUser signup ββ email ada@example.com ββ feature signup-flow18:12:30.225[api-server] π¦ PATCH /items/1235001.2sPayment failedβ‘ slow ββ error upstream timeout18:12:18.699[api-server] π¦ GET /20010ms18:12:19.120[api-server] π¦ GET /custom2000.14msHello from custom logger ββ feature custom-route-log ββ userId 12318:12:20.045[api-server] π¦ GET /status/4004000.12ms18:12:21.089[api-server] π¦ GET /status/4044040.13ms18:12:22.301[api-server] π¦ GET /boom5000.45msBoom! ββ feature custom-route-log ββ userId 123 ββ error Boom!18:12:23.100[api-server] π¦ POST /users20112msUser signup ββ email ada@example.com ββ feature signup-flow18:12:30.225[api-server] π¦ PATCH /items/1235001.2sPayment failedβ‘ slow ββ error upstream timeout18:12:18.699[api-server] π¦ GET /20010ms18:12:19.120[api-server] π¦ GET /custom2000.14msHello from custom logger ββ feature custom-route-log ββ userId 12318:12:20.045[api-server] π¦ GET /status/4004000.12ms18:12:21.089[api-server] π¦ GET /status/4044040.13ms18:12:22.301[api-server] π¦ GET /boom5000.45msBoom! ββ feature custom-route-log ββ userId 123 ββ error Boom!18:12:23.100[api-server] π¦ POST /users20112msUser signup ββ email ada@example.com ββ feature signup-flow18:12:30.225[api-server] π¦ PATCH /items/1235001.2sPayment failedβ‘ slow ββ error upstream timeoutAnnouncement
Logixlysia 2025 Wrapped is now available!
The logger for Elysia.js, simple and easy to use beautiful and powerful
Logixlysia is a logger for Elysia.js, a web framework for Bun. It provides a simple and easy-to-use interface and powerful features for logging and debugging.
import { Elysia } from 'elysia'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)logixlysia β request logs
Why choose Logixlysia?
Logixlysia is designed to make Elysia.js request logging consistent, readable, and production-ready. Here's how it compares.
console.log
Fast to start, but quickly becomes noisy at scale.
Zero setup
No request context by default
Hard to keep consistent
Limited filtering and structure
Logixlysia
Elysia-first loggerβsensible defaults with deep configuration when you need it.
Zero setup
Elysia plugin integration
Pino built-in (and exposed)
Request context included
Custom log format + timestamps
Log filtering
Transports
File logging + rotation
Custom log methods + context
Runtime controls
Startup banner
+
generic logger
Great building blocks, but needs more wiring for Elysia apps.
Flexible ecosystem
More app wiring
More configuration
Easy to drift
Install with in line. Log in few clicks.
Install Logixlysia and start logging your Elysia applications.
