Logarithmic is fully open source (Apache 2.0 license) and always will be. The Mac App Store version is available for $9.99 to provide a signed, notarized build that runs without security warnings on macOS. This also helps support ongoing development and covers the cost of the Apple Developer Program.
You can always build from source for free using the instructions below!
The ultimate cross-platform log tailing application with intelligent grouping, syntax highlighting, and session management.
- Session Management - Save and restore complete log tracking sessions with window positions
- Wildcard Support - Track log files with patterns like
app-*.logand automatically switch to newest files - Smart Grouping - Organize related logs into groups with tabbed or combined views
- Window Snapping - Auto-snap windows together for perfect multi-monitor layouts
- F3 Window Recovery - Press F3 to instantly move all windows to your cursor when monitors disconnect
- Syntax Highlighting - Automatic colorization of errors (red), warnings (orange), and verbose logs (gray)
- Custom Fonts - Modern, readable typography with Michroma, Oxanium, and Red Hat Mono
- Adjustable Font Sizes - Separate controls for log content, UI elements, and status bars
- Theme Support - Customizable color schemes for different log levels
- Live Mode - Auto-scroll to latest logs with visual indicators
- Pause/Resume - Freeze updates while keeping the tail active in background
- Go Live Button - Instantly jump back to the latest logs
- Clear on Demand - Clear display without affecting the underlying log stream
- Log Filtering - Real-time text filtering with case-insensitive option
- Multi-Window Design - Each log opens in its own independent window
- File State Management - Handles creation, deletion, rotation, and missing files gracefully
- Combined View - Merge multiple logs into a single interleaved stream with source labels
- Tabbed View - View multiple logs in tabs with individual controls
- Persistent Settings - All preferences, window positions, and sessions saved automatically
- Multi-Monitor Support - Seamless operation across multiple displays with F3 recovery for undocking
- MCP Server - Built-in Model Context Protocol server for AI agent integration
- Claude Desktop Support - Connect Claude to your logs for intelligent analysis
- Log Metadata - Add human-readable IDs and descriptions for better AI understanding
- Search & Query Tools - AI agents can list, search, and retrieve log content
- Thread-Safe Architecture - MCP server runs asynchronously without blocking the UI
- Version Check - Automatically checks for updates on startup
- Manual Check - "Check for Updates" button in Settings
- Non-Blocking - Background thread keeps UI responsive
- Smart Detection - Detects dev builds vs release builds
If you undock your laptop or disconnect monitors and your log windows are stuck on a disconnected display:
- Press F3 on the main window (or any visible window)
- All windows instantly move to your mouse cursor location
- Redistribute them on your current monitor setup
No need to close and reopen the application or manually hunt for off-screen windows!
- Release Process - How to build and release
- Changelog - Version history and release notes
- Coding Guidelines - Python development standards
- MCP Server Quick Start - Get started with AI integration
- MCP Server Details - Technical documentation for MCP server
- App Encryption Documentation - Encryption/export usage details
Real-time log tailing with syntax highlighting, pause/resume, and live mode indicator
Multiple related logs organized in tabs with individual controls for each
Interleaved log streams with source labels for easy correlation
Logarithmic now includes a built-in Model Context Protocol (MCP) server that allows AI agents like Claude Desktop to directly access and analyze your logs!
- Enable MCP Server: Go to Settings tab β Check "Enable MCP Server"
- Restart Application: Changes take effect after restart
- Configure Claude Desktop: Add Logarithmic to your Claude Desktop MCP servers
- Ask Claude: "List all available logs" or "Search for errors in my application logs"
- π List Logs: AI can see all your tracked logs with descriptions
- π Search: Find patterns across all logs instantly
- π Read Content: AI can retrieve and analyze full log content
- π Debug: Ask AI to find errors, analyze patterns, or suggest fixes
Learn More: See MCP Quick Start Guide for detailed setup instructions.
Download the latest release for your platform from the Releases page:
- Windows:
Logarithmic-Windows.zip- Extract and runLogarithmic.exe - macOS:
Logarithmic-macOS.zip- Extract and runLogarithmic.app - Linux:
Logarithmic-Linux.tar.gz- Extract and run./Logarithmic
No installation required - just download, extract, and run!
- Python 3.11 or higher
- pip
-
Clone the repository
git clone <repository-url> cd logarithmic
-
Create a virtual environment
python -m venv .venv
-
Activate the virtual environment
- Windows:
.venv\Scripts\activate - macOS/Linux:
source .venv/bin/activate
- Windows:
-
Install dependencies
pip install -r requirements.txt
-
Install development dependencies (optional)
pip install -e ".[dev]" -
Set up pre-commit hooks (recommended)
pre-commit install
This will automatically run
ruff formatandruff --fixon your code before each commit, ensuring consistent code style.
python -m logarithmicOr from the source directory:
python src/logarithmic/__main__.pypytestWith coverage:
pytest --cov=src/logarithmic --cov-report=term-missing-
Add a log file:
- Enter the path to a log file in the input box
- Click "Add" or press Enter
- Supports wildcards:
C:\logs\app-*.logor/var/log/app-*.log
-
Open a viewer:
- Double-click a log file in the list to open its viewer window
- Windows automatically position themselves with smart snapping
Located at the top of the main window:
- Save Session: Preserves all tracked logs, groups, and window positions
- Duplicate Session: Create a copy of the current session
- Delete Session: Remove a saved session
- Session Dropdown: Quickly switch between saved sessions
Organize related logs together:
- Create a Group: Click "New Group" and give it a name
- Assign Logs: Right-click a log β "Assign to Group"
- View Group: Double-click the group to open the group window
- Switch Modes: Toggle between Tabbed and Combined view
Tabbed Mode: Each log in its own tab with individual controls
Combined Mode: All logs merged into one stream with source labels
Every log window includes:
- Pause Button: Freeze updates while keeping the tail active
- Clear Button: Clear the display (history preserved in tabbed mode)
- Go Live Button: Appears when scrolled up - click to jump to latest logs
- Status Bar: Shows line count, live/scroll mode, and pause status
- Set Default Size: Save current window size as default for new windows
Customize your experience:
- Log Content Font Size: 6-24pt for log text
- UI Elements Font Size: 6-18pt for buttons and labels
- Status Bar Font Size: 6-14pt for status text
- MCP Server: Enable AI agent integration (see MCP Quick Start)
- Enable/disable MCP server
- Configure binding address (default: 127.0.0.1)
- Configure port (default: 3000)
- About: View current version and check for updates
- Theme Colors: Customize error, warning, verbose, and default colors (coming soon)
Problem: Undocked your laptop or disconnected a monitor? Windows stuck on a disconnected display?
Solution: Press F3 on the main window to instantly relocate all windows to your mouse cursor!
How it works:
- Move your mouse to where you want your windows
- Press F3 on the main window
- All windows (main + log viewers + groups) cascade from your cursor position
- Rearrange them as needed on your current monitor setup
This feature is a lifesaver for laptop users who frequently dock/undock or switch between monitor configurations.
- Enter: Add log file from input box
- Double-Click: Open log viewer or group window
- F3: Move all windows to cursor position (essential for multi-monitor setups!)
- Scroll Up: Exit live mode (shows Go Live button)
- Scroll to Bottom: Re-enter live mode automatically
Logs are automatically colorized based on keywords:
- π΄ Red: error, fatal, critical, exception, fail, failed, failure
- π Orange: warning, warn, caution, deprecated
- βͺ Gray: verbose, debug, trace
- Default: Normal log text
The application follows a clean architecture with separation of concerns:
main_window.py: Main control window with session and group managementlog_viewer_window.py: Individual log viewer windows with ContentControllerlog_group_window.py: Group windows with tabbed and combined modescontent_controller.py: Unified content display and control managementlog_manager.py: Centralized log buffer and subscriber managementfile_watcher.py: File watching and tailing logic using watchdogwildcard_watcher.py: Wildcard pattern matching and file switchinglog_highlighter.py: Syntax highlighting for log contentsettings.py: Session, preferences, and theme managementfonts.py: Custom font loading and management
mcp_server.py: Model Context Protocol server for AI agent integrationmcp_bridge.py: Thread-safe bridge between LogManager and MCP server- Exposes logs as MCP resources with tools for listing, searching, and retrieving content
- Runs asynchronously in separate thread without blocking the UI
- See MCP Server Details for architecture details
The file watcher implements a robust three-state system:
- Non-Existent: Watch parent directory for file creation
- Exists: Tail the file and watch for deletion/move
- Deleted/Moved: Close handles and return to state 1
This ensures graceful handling of log rotation, file system changes, and wildcard pattern matching.
The LogManager implements a publisher-subscriber pattern:
- Log viewers and group windows subscribe to specific log files
- New content is broadcast to all subscribers
- Efficient memory management with centralized buffering
- Supports multiple subscribers per log file
- Auto-save: Last used session loads automatically on startup
- Multiple Sessions: Switch between different project configurations
- Complete State: Saves logs, groups, window positions, and settings
- Duplicate & Delete: Easily manage your session library
- Pattern Matching: Use
*and?in file paths - Auto-Switch: Automatically follows the newest matching file
- Rotation Handling: Seamlessly handles log rotation
- Visual Indicator: Shows current file in window title
- Flexible Organization: Group related logs by project, service, or environment
- Two View Modes: Tabbed for individual focus, Combined for correlation
- Independent Controls: Each tab has its own pause/clear/live controls
- Source Labels: Combined mode prefixes each line with the source filename
- Auto-Snapping: Windows snap to each other within 20 pixels
- Position Memory: Window positions saved per log/group
- Default Sizing: Set your preferred default window size
- Multi-Monitor: Works seamlessly across multiple displays
- F3 Recovery: Press F3 to move all windows to cursor when monitors are disconnected
- Real-Time: Applied as logs stream in
- Customizable: Theme colors configurable per session
- Performance: Efficient Qt-based syntax highlighter
- Keyword-Based: Matches common logging patterns
logarithmic/
βββ .github/
β βββ workflows/
β β βββ ci.yml # Continuous integration
β β βββ release.yml # Automated releases
β βββ RELEASE.md # Release documentation
βββ Docs/
β βββ Changelog.md # Version history and release notes
β βββ CodingGuidelines.md # Development standards
β βββ MCP_Quickstart.md # MCP server quick start guide
β βββ MCP_Details.md # MCP server technical details
βββ fonts/
β βββ Michroma/ # Title font
β βββ Oxanium/ # UI font
β βββ Red_Hat_Mono/ # Monospace log font
βββ images/
β βββ main_window.png # Screenshots
β βββ single_window.png
β βββ grouped_tabbed.png
β βββ grouped_combined.png
βββ src/
β βββ logarithmic/
β βββ __init__.py
β βββ __main__.py # Application entry point
β βββ content_controller.py # Unified content display
β βββ exceptions.py # Custom exceptions
β βββ file_watcher.py # File tailing logic
β βββ fonts.py # Font management
β βββ log_group_window.py # Group window UI
β βββ log_highlighter.py # Syntax highlighting
β βββ log_manager.py # Log buffer management
β βββ log_viewer_window.py # Single log window
β βββ main_window.py # Main control window
β βββ mcp_bridge.py # MCP server bridge
β βββ mcp_server.py # MCP server implementation
β βββ settings.py # Session & preferences
β βββ version_checker.py # Auto-update version checking
β βββ wildcard_watcher.py # Wildcard pattern support
βββ .gitignore
βββ LICENSE # Apache 2.0
βββ Logarithmic.spec # PyInstaller configuration
βββ pyproject.toml # Project metadata
βββ requirements.txt # Dependencies
βββ README.md
Logarithmic is perfect for:
- Software Development: Monitor application logs during development and debugging
- DevOps: Track multiple service logs across microservices architectures
- System Administration: Watch system logs, web server logs, and application logs simultaneously
- Game Development: Monitor Unreal Engine, Unity, or custom game engine logs
- CI/CD Pipelines: Track build and deployment logs in real-time
- Testing: Monitor test execution logs with automatic error highlighting
- Production Monitoring: Keep an eye on production logs with session-based organization
- AI-Assisted Debugging: Use Claude or other AI agents to analyze logs and find issues faster
All contributions must follow the standards defined in Docs/CodingGuidelines.md.
Key requirements:
- Use
rufffor linting and formatting - Use
mypyfor type checking - Include type hints for all functions
- Write tests for new functionality
- Follow Google-style docstrings
Copyright 2025 Willem J Hattingh
Licensed under the Apache License, Version 2.0 - See LICENSE file for details.
Logarithmic uses three beautiful open-source fonts:
- Michroma - Window titles (SIL OFL 1.1)
- Oxanium - UI elements (SIL OFL 1.1)
- Red Hat Mono - Log content (SIL OFL 1.1)
All fonts are licensed under the SIL Open Font License 1.1.
Made with β€οΈ for developers who love clean, powerful log tailing.
