A lightweight, cross-platform log viewer written in Rust. Designed for efficiency and speed, Logmancer reads directly from disk and handles very large log files with ease.
Current development version: 0.3.0.
- Efficient disk-backed reading of very large files.
- Optimized file indexing for fast navigation.
less-style navigation with keyboard shortcuts such asg,G, page movement, and follow mode.- Regex-based filtering in web/desktop with results navigable in a separate panel.
- TUI, web, and desktop frontends built on a shared core.
Note: The project is in its early stages of development.
Planned features include visual rules, multi-file workspace improvements, and structured log parsing. See ROADMAP.md for details.
Logmancer is structured as a multi-crate workspace:
- logmancer-core: Core logic for file indexing, reading, and searching.
- logmancer-tui: Terminal UI application.
- logmancer-web: Web application using Leptos and Axum.
- logmancer-desktop: Desktop application leveraging the web module via Tauri.
- Rust toolchain (stable)
-
Clone the repository:
git clone https://github.com/ignsabbag/logmancer.git cd logmancer -
Build the entire project:
cargo build --release
-
Build the web module:
cargo leptos build --release --project logmancer-web
-
Build the desktop module:
export LEPTOS_OUTPUT_NAME=logmancer-web cargo tauri build --no-bundle
Launch the terminal log viewer by specifying a log file path:
cargo run --bin logmancer-tui -- /path/to/your/logfile.logRun the development web server with Leptos:
cargo leptos watch --project logmancer-webLaunch the desktop app using Tauri:
cargo tauri dev- Arrow keys: Scroll up/down line by line.
- Page Up / Page Down: Scroll by page.
- g: Go to beginning of file.
- G: Go to end of file.
- f / F: Toggle follow mode (like
tail -f), only works at EOF. - q: Quit (CLI only).
No additional configuration is required at this time. Future modules may introduce config files or environment variables.
See ROADMAP.md for planned releases and future ideas.
Release history is tracked in CHANGELOG.md.
Contributions are welcome! To get started:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/YourFeature. - Commit your changes and push to your fork.
- Open a Pull Request describing your changes.
Please adhere to the existing code style and include tests where applicable.
This project is licensed under the MIT License.
Built with ❤️ in Rust.