Skip to main content

jetstart logs

Stream real-time application logs from all sources (CLI, Core server, Android client, build system) with filtering options. Essential for debugging and monitoring your development workflow.

Prerequisites

Dev Server Required

The jetstart dev server must be running before you can stream logs. Logs are transmitted via WebSocket on port 8767.

  1. Start dev server: jetstart dev
  2. In a separate terminal: jetstart logs

Usage

jetstart logs [options]

Quick Start

# Stream all logs
jetstart logs

# Stream only errors
jetstart logs --level error

# Stream client logs only
jetstart logs --source client

# Show last 50 historical logs then continue streaming
jetstart logs --lines 50

Options

OptionTypeDefaultDescription
-f, --followbooleantrueStream logs continuously
-l, --level <level>stringallFilter by exact log level
-s, --source <source>stringallFilter by log source
-n, --lines <number>number100Number of historical lines to replay on connect
Filtering is Exact Match

--level filters by exact match only. For example, --level info shows only INFO logs — it does not include WARN, ERROR, or FATAL. To see all logs, omit --level entirely.

Source Filtering

--source accepts a single source only (e.g. --source core). Comma-separated values like --source core,build will not work. To see multiple sources, omit --source entirely.

Log Sources

JetStart aggregates logs from 6 different sources:

CLI

Command-line interface operations

Examples:

12:34:56 INFO [cli] [Command] Starting dev server
12:34:57 INFO [cli] [Validation] Project structure valid
12:34:58 INFO [cli] [Network] IP detected: 192.168.43.220

Use cases:

  • Command execution
  • User input validation
  • Configuration loading

CORE

Development server and orchestration

Examples:

12:35:00 INFO [core] [Server] HTTP server started on :8765
12:35:01 INFO [core] [WebSocket] WebSocket server ready on :8766
12:35:02 INFO [core] [Session] Created session: GrX2yCBQ

Use cases:

  • Server lifecycle
  • Session management
  • File watching events

CLIENT

Android application logs

Examples:

12:35:10 INFO [client] [Connection] Connected to server
12:35:11 DEBUG [client] [UI] MainActivity rendered in 45ms
12:35:12 WARN [client] [Network] Slow connection detected

Use cases:

  • App behavior
  • UI rendering
  • Runtime errors
  • User interactions

BUILD

Gradle build system

Examples:

12:35:20 INFO [build] [Gradle] Starting compilation
12:35:22 DEBUG [build] [Compiler] Processing 42 Kotlin files
12:35:25 INFO [build] [Gradle] Build completed in 5.2s

Use cases:

  • Build progress
  • Compilation errors
  • APK packaging

NETWORK

WebSocket and HTTP communication

Examples:

12:35:30 DEBUG [network] [WebSocket] Client connected: device-xyz
12:35:31 DEBUG [network] [WebSocket] Sent ui-update message (312 bytes)
12:35:32 WARN [network] [HTTP] Slow response: 250ms

Use cases:

  • Connection status
  • Message traffic
  • Latency issues

SYSTEM

System-level operations

Examples:

12:35:40 INFO [system] [FileWatcher] Watching 152 files
12:35:41 DEBUG [system] [Cache] Cache hit for build config
12:35:42 WARN [system] [Memory] High memory usage: 85%

Use cases:

  • File system operations
  • Resource monitoring
  • System health

Log Levels

Six log levels from most to least verbose:

LevelColorUse Case
verboseGrayDeep debugging, protocol inspection
debugBlueDevelopment debugging, tracking flow
infoGreenNormal operation tracking
warnYellowNon-critical issues, performance warnings
errorRedOperation failures, exceptions
fatalRed (background)Unrecoverable errors, crashes

Output Format

Standard Format (Default)

[timestamp] [level] [source] [tag] message

Example:
17:32:00 INFO [core] [Core] WebSocket Server: ws://192.168.43.220:8766

Components:

  • Timestamp: HH:MM:SS format (local time)
  • Level: Log severity (color-coded in terminal)
  • Source: Origin of log (cli, core, client, build, network, system)
  • Tag: Specific component
  • Message: Log content

Filtering

By Log Level

# Only error logs
jetstart logs --level error

# Only info logs
jetstart logs --level info

# Only warnings
jetstart logs --level warn

By Source

# Only build logs
jetstart logs --source build

# Only client logs
jetstart logs --source client

# Only core server logs
jetstart logs --source core

Combined Filters

# Build errors only
jetstart logs --source build --level error

# Core info logs with last 50 lines
jetstart logs --source core --level info --lines 50

Live Streaming

Following Logs

Stream logs in real-time (default behavior):

jetstart logs

Output:

Connecting to JetStart logs service...

ℹ Connected to logs service

17:32:00 INFO [core] [Core] WebSocket Server: ws://192.168.43.220:8766
17:32:00 INFO [core] [Core] Session ID: GrX2yCBQ
17:32:00 INFO [core] [Core] Session Token: TPjDcvY9rA4X
[live stream continues...]
^C # Press Ctrl+C to stop

WebSocket Connection

How It Works

jetstart logs


Connect to ws://localhost:8767


Send subscription message with filters


Receive historical logs (up to --lines)


Stream new logs in real-time

Connection Details

Default port: 8767 (DEFAULT_LOGS_PORT) Protocol: WebSocket

Subscription message sent on connect:

{
"type": "subscribe",
"filter": {
"levels": ["info"],
"sources": ["core"]
},
"maxLines": 100
}

Disconnection Handling

When the connection drops, the command exits:

Closing connection...

ℹ Disconnected from logs service

You will need to re-run jetstart logs to reconnect.

Integration with Dev Server

Dual Terminal Workflow

Terminal 1: Dev server

jetstart dev

Terminal 2: Log monitoring

jetstart logs --source core

Automatic Log Routing

Dev server automatically routes logs to the appropriate source:

Server logscore source Build logsbuild source Client logsclient source (via WebSocket) Network logsnetwork source

All aggregated in logs service on port 8767.

Advanced Usage

Piping to Files

# Save all logs to a file
jetstart logs > app.log 2>&1

Grep Integration

# Search for specific text
jetstart logs | grep "connection"

# Case-insensitive search
jetstart logs | grep -i "ERROR"

# Multiple patterns
jetstart logs | grep -E "error|warning|failed"

Debugging Workflows

Debug Build Failures

jetstart logs --source build --level error

What to look for:

ERROR [build] [Gradle] Compilation failed
ERROR [build] [Compiler] NotesScreen.kt:42: Syntax error
ERROR [build] [Gradle] Build exited with code 1

Monitor Hot Reload

jetstart logs --source core | grep -i "reload"

What to look for:

INFO [core] [HotReload] Hot reload starting for: NotesScreen.kt
INFO [core] [HotReload] Hot reload complete in 84ms

Track Client Connection

jetstart logs --source client

Troubleshooting

Can't Connect to Logs Service

Symptom:

✗ Error: Failed to connect to logs service

Causes & Solutions:

1. Dev server not running:

# Start dev server first
jetstart dev

# Then in another terminal
jetstart logs

2. Port 8767 blocked:

# Check if port is in use
netstat -ano | findstr :8767 # Windows
lsof -i :8767 # macOS/Linux

Missing Logs

Symptom: Expected logs don't appear

Checks:

1. Level filter too restrictive:

# --level is exact match, not hierarchical
# Solution: Remove filter to see all logs
jetstart logs

2. Source filter excluding logs:

# --source only accepts one source at a time
# Solution: Remove filter to see all sources
jetstart logs

3. Buffer overflow:

# Default buffer: 10,000 log entries
# Old logs get dropped
# Solution: Save to file
jetstart logs > all.log

Garbled Output

Symptom: Weird characters, broken colors

Solutions:

1. Terminal encoding:

# Windows CMD
chcp 65001

# PowerShell
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8

Buffer Management

The logs server uses a circular buffer:

  • Max size: 10,000 entries
  • Oldest logs are dropped when the buffer is full
  • Use --lines to control how many historical logs are replayed on connect

Persist logs to disk:

jetstart logs > persistent.log

Best Practices

  1. Use a separate terminal for logs — keep dev server output clean

  2. Filter to what matters

    jetstart logs --source client --level warn
  3. Save logs for bug reports

    jetstart logs > bug-report-logs.txt
  4. Grep for specific events

    jetstart logs | grep -i "connect\|disconnect"

See Also