π¦15:00:19.2252025-04-13 15:00:19.225INFO1msGET/200π¦15:00:21.2452025-04-13 15:00:21.245INFO509ΞΌsPOST/items201π¦15:00:22.2252025-04-13 15:00:22.225INFO900nsPUT/items/123200π¦15:00:23.302025-04-13 15:00:23.30INFO1msDELETE/items/123200π¦15:00:30.2252025-04-13 15:00:30.225ERROR10sPATCH/items/123500π¦15:00:31.2252025-04-13 15:00:31.225INFO1msHEAD/items/123200π¦15:00:19.2252025-04-13 15:00:19.225INFO1msGET/200π¦15:00:21.2452025-04-13 15:00:21.245INFO509ΞΌsPOST/items201π¦15:00:22.2252025-04-13 15:00:22.225INFO900nsPUT/items/123200π¦15:00:23.302025-04-13 15:00:23.30INFO1msDELETE/items/123200π¦15:00:30.2252025-04-13 15:00:30.225ERROR10sPATCH/items/123500π¦15:00:31.2252025-04-13 15:00:31.225INFO1msHEAD/items/123200π¦15:00:19.2252025-04-13 15:00:19.225INFO1msGET/200π¦15:00:21.2452025-04-13 15:00:21.245INFO509ΞΌsPOST/items201π¦15:00:22.2252025-04-13 15:00:22.225INFO900nsPUT/items/123200π¦15:00:23.302025-04-13 15:00:23.30INFO1msDELETE/items/123200π¦15:00:30.2252025-04-13 15:00:30.225ERROR10sPATCH/items/123500π¦15:00:31.2252025-04-13 15:00:31.225INFO1msHEAD/items/123200π¦15:00:19.2252025-04-13 15:00:19.225INFO1msGET/200π¦15:00:21.2452025-04-13 15:00:21.245INFO509ΞΌsPOST/items201π¦15:00:22.2252025-04-13 15:00:22.225INFO900nsPUT/items/123200π¦15:00:23.302025-04-13 15:00:23.30INFO1msDELETE/items/123200π¦15:00:30.2252025-04-13 15:00:30.225ERROR10sPATCH/items/123500π¦15:00:31.2252025-04-13 15:00:31.225INFO1msHEAD/items/123200π¦15:00:19.2252025-04-13 15:00:19.225INFO1msGET/200π¦15:00:21.2452025-04-13 15:00:21.245INFO509ΞΌsPOST/items201π¦15:00:22.2252025-04-13 15:00:22.225INFO900nsPUT/items/123200π¦15:00:23.302025-04-13 15:00:23.30INFO1msDELETE/items/123200π¦15:00:30.2252025-04-13 15:00:30.225ERROR10sPATCH/items/123500π¦15:00:31.2252025-04-13 15:00:31.225INFO1msHEAD/items/123200π¦15:00:19.2252025-04-13 15:00:19.225INFO1msGET/200π¦15:00:21.2452025-04-13 15:00:21.245INFO509ΞΌsPOST/items201π¦15:00:22.2252025-04-13 15:00:22.225INFO900nsPUT/items/123200π¦15:00:23.302025-04-13 15:00:23.30INFO1msDELETE/items/123200π¦15:00:30.2252025-04-13 15:00:30.225ERROR10sPATCH/items/123500π¦15:00:31.2252025-04-13 15:00:31.225INFO1msHEAD/items/123200π¦15:00:19.2252025-04-13 15:00:19.225INFO1msGET/200π¦15:00:21.2452025-04-13 15:00:21.245INFO509ΞΌsPOST/items201π¦15:00:22.2252025-04-13 15:00:22.225INFO900nsPUT/items/123200π¦15:00:23.302025-04-13 15:00:23.30INFO1msDELETE/items/123200π¦15:00:30.2252025-04-13 15:00:30.225ERROR10sPATCH/items/123500π¦15:00:31.2252025-04-13 15:00:31.225INFO1msHEAD/items/123200π¦15:00:19.2252025-04-13 15:00:19.225INFO1msGET/200π¦15:00:21.2452025-04-13 15:00:21.245INFO509ΞΌsPOST/items201π¦15:00:22.2252025-04-13 15:00:22.225INFO900nsPUT/items/123200π¦15:00:23.302025-04-13 15:00:23.30INFO1msDELETE/items/123200π¦15:00:30.2252025-04-13 15:00:30.225ERROR10sPATCH/items/123500π¦15:00:31.2252025-04-13 15:00:31.225INFO1msHEAD/items/123200π¦15:00:19.2252025-04-13 15:00:19.225INFO1msGET/200π¦15:00:21.2452025-04-13 15:00:21.245INFO509ΞΌsPOST/items201π¦15:00:22.2252025-04-13 15:00:22.225INFO900nsPUT/items/123200π¦15:00:23.302025-04-13 15:00:23.30INFO1msDELETE/items/123200π¦15:00:30.2252025-04-13 15:00:30.225ERROR10sPATCH/items/123500π¦15:00:31.2252025-04-13 15:00:31.225INFO1msHEAD/items/123200π¦15:00:19.2252025-04-13 15:00:19.225INFO1msGET/200π¦15:00:21.2452025-04-13 15:00:21.245INFO509ΞΌsPOST/items201π¦15:00:22.2252025-04-13 15:00:22.225INFO900nsPUT/items/123200π¦15:00:23.302025-04-13 15:00:23.30INFO1msDELETE/items/123200π¦15:00:30.2252025-04-13 15:00:30.225ERROR10sPATCH/items/123500π¦15:00:31.2252025-04-13 15:00:31.225INFO1msHEAD/items/123200Announcement
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' // or import { logixlysia } from 'logixlysia'const app = new Elysia({ name: "Elysia with Logixlysia"}) .use( logixlysia({ config: { showStartupMessage: true, startupMessageFormat: 'simple', timestamp: { translateTime: 'yyyy-mm-dd HH:MM:ss.SSS' }, logFilePath: './logs/example.log', ip: true, customLogFormat: 'π¦ {now} {level} {duration} {method} {pathname} {status} {message} {ip}' } })) .get('/', () => { return { message: 'Welcome to Basic Elysia with Logixlysia' } }) app.listen(3000)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.