@loglayer/transport-pretty-terminal
v6.0.1
Published
Interactive pretty log output in the terminal for the LogLayer logging library.
Maintainers
Readme
Pretty Terminal Transport for LogLayer
A transport for the LogLayer logging library that pretty-prints logs printed in the terminal.

Features
- 🎨 Color-coded Log Levels - Each log level has distinct colors for quick visual identification
- 🔍 Interactive Selection Mode - Browse and inspect logs in a full-screen interactive view
- 📝 Detailed Log Inspection - Examine individual log entries with formatted data and context
- 🔎 Search/Filter Functionality - Find specific logs with powerful filtering capabilities
- 💅 JSON Pretty Printing - Beautifully formatted structured data with syntax highlighting
- 🎭 Configurable Themes - Choose from pre-built themes or customize your own colors
Next.js / browser support
The Pretty Terminal does not work in a browser or Next.js as Pretty Terminal has dependencies that are incompatible with in a Next.js environment.
Use Simple Pretty terminal instead.
Installation
Node.js
npm install loglayer @loglayer/transport-pretty-terminal serialize-error better-sqlite3Bun
Bun has a built-in SQLite module — better-sqlite3 is not needed. Pass a bun:sqlite Database via the database option (see usage below).
bun add loglayer @loglayer/transport-pretty-terminal serialize-errorUsage
Node.js
import Database from 'better-sqlite3';
import { LogLayer, ConsoleTransport } from 'loglayer';
import { getPrettyTerminal } from '@loglayer/transport-pretty-terminal';
import { serializeError } from 'serialize-error';
const log = new LogLayer({
errorSerializer: serializeError,
transport: [
new ConsoleTransport({
// Use console logging in non-development environments
enabled: process.env.NODE_ENV !== 'development',
}),
getPrettyTerminal({
database: new Database(':memory:'),
// Only enable Pretty Terminal in development
enabled: process.env.NODE_ENV === 'development',
}),
],
});Bun
import { Database } from 'bun:sqlite';
import { LogLayer, ConsoleTransport } from 'loglayer';
import { getPrettyTerminal } from '@loglayer/transport-pretty-terminal';
import { serializeError } from 'serialize-error';
const log = new LogLayer({
errorSerializer: serializeError,
transport: [
new ConsoleTransport({
// Use console logging in non-development environments
enabled: process.env.NODE_ENV !== 'development',
}),
getPrettyTerminal({
database: new Database(':memory:'),
// Only enable Pretty Terminal in development
enabled: process.env.NODE_ENV === 'development',
}),
],
});For full documentation visit the Pretty Terminal docs.
