bun add logixlysia
import { Elysia } from 'elysia'
import logixlysia from 'logixlysia'
const app = new Elysia({
name: 'Logixlysia Example'
}).use(
logixlysia({
config: {
showStartupMessage: true,
startupMessageFormat: 'simple',
timestamp: {
translateTime: 'yyyy-mm-dd HH:MM:ss'
},
ip: true,
logFilePath: './logs/example.log',
customLogFormat:
'π¦ {now} {level} {duration} {method} {pathname} {status} {message} {ip} {epoch}',
logFilter: {
level: ['ERROR', 'WARNING'],
status: [500, 404],
method: 'GET'
}
}
})
)
app.listen(3000)
Note
You can discover more about example in the example directory.
Option | Type | Description | Default |
---|---|---|---|
showStartupMessage |
boolean |
Display the startup message | true |
startupMessageFormat |
"banner" | "simple" |
Choose the startup message format | "banner" |
timestamp |
object |
Display the timestamp in the logs | { translateTime: 'yyyy-mm-dd HH:MM:ss' } |
ip |
boolean |
Display the incoming IP address based on the X-Forwarded-For header |
false |
customLogMessage |
string |
Custom log message to display | π¦ {now} {level} {duration} {method} {pathname} {status} {message} {ip} |
logFilter |
object |
Filter the logs based on the level, method, and status | null |
logFilePath |
string |
Path to the log file | ./logs/elysia.log |
Placeholder | Description |
---|---|
{now} |
Current date and time in YYYY-MM-DD HH:mm:ss format |
{level} |
Log level (INFO , WARNING , ERROR ) |
{duration} |
Request duration in milliseconds |
{method} |
Request method (GET , POST , PUT , DELETE , PATCH , HEAD , OPTIONS ) |
{pathname} |
Request pathname |
{status} |
Response status code |
{message} |
Custom message |
{ip} |
Incoming IP address |
{epoch} |
Current date and time in Unix epoch format (seconds since January 1, 1970 |
Licensed under the MIT License.