5.2 KiB
RLogg - Fast Log File Viewer
A fast, native log file viewer with search, filtering, and highlighting capabilities built with Rust and egui.
Features
- Fast Performance: Handle large log files (GB+) with efficient line indexing
- Advanced Search: Regex support, case-sensitive/insensitive search, date range filtering
- Syntax Highlighting: Custom highlight rules with regex patterns
- Multiple Tabs: Open and view multiple log files simultaneously
- Export Results: Export filtered/searched results to new files
- Cross-Platform: Native builds for Linux, Windows, and macOS
- Command-Line Interface: Open files directly from terminal or OS file associations
Installation
From Source
-
Clone the repository:
git clone https://github.com/yourusername/rlogg.git cd rlogg -
Build in release mode:
cargo build --release -
The binary will be available at:
target/release/rlogg
Linux
Quick Install (User-Local)
cargo build --release
cd packaging/linux
./install.sh
This will:
- Install
rloggto~/.local/bin/ - Set up file associations for
.logfiles - Configure desktop integration
Make sure ~/.local/bin is in your PATH:
export PATH="$HOME/.local/bin:$PATH"
System-Wide Install
sudo cp target/release/rlogg /usr/local/bin/
sudo cp packaging/linux/rlogg.desktop /usr/share/applications/
sudo cp packaging/linux/text-x-log.xml /usr/share/mime/packages/
sudo update-desktop-database /usr/share/applications
sudo update-mime-database /usr/share/mime
Windows
-
Build the project:
cargo build --release -
Run the installation script:
cd packaging\windows powershell -ExecutionPolicy Bypass -File install.ps1
This will:
- Install RLogg to
%LOCALAPPDATA%\Programs\RLogg - Create file associations for
.logfiles - Add "Open with RLogg" to the context menu
Usage
Graphical Interface
Launch without arguments:
rlogg
Then use the "Open File" button to select log files.
Command-Line Interface
Open a single file:
rlogg /path/to/file.log
Open multiple files (each in a separate tab):
rlogg file1.log file2.log file3.log
Open all log files in a directory:
rlogg /var/log/*.log
Get help:
rlogg --help
Check version:
rlogg --version
File Associations
After installation, you can:
- Double-click
.logfiles to open them in RLogg - Right-click → "Open With" → RLogg
- Drag and drop multiple log files onto the RLogg icon
See docs/FILE_ASSOCIATIONS.md for detailed setup and troubleshooting.
Features Guide
Search
- Enter search query in the search panel
- Choose case-sensitive or regex mode
- Optionally enable date range filtering
- Results are highlighted and filtered in real-time
Highlighting
- Click "Highlight Rules" to open the editor
- Add custom regex patterns with colors
- Rules are applied to all open files
- Perfect for highlighting errors, warnings, etc.
Tabs
- Open multiple files simultaneously
- Each file maintains its own search/filter state
- Close tabs with the × button
- Switch between tabs with mouse or keyboard
Export
- Export filtered/searched results to a new file
- Preserves line formatting
- Useful for extracting specific log entries
Building
Prerequisites
- Rust 1.70 or later
- Cargo
Build Commands
Development build:
cargo build
Release build (optimized):
cargo build --release
Run directly:
cargo run -- /path/to/file.log
Run tests:
cargo test
See BUILD.md for detailed build instructions.
Packaging
See packaging/README.md for instructions on creating distribution packages:
- Linux:
.deb,.rpm, AppImage, tarballs - Windows: Installers, ZIP archives
Configuration
RLogg stores configuration in rlogg_config.json next to the executable:
- Search history
- Highlight rules
- UI preferences
- Date format settings
Troubleshooting
Linux
File associations not working:
update-desktop-database ~/.local/share/applications
update-mime-database ~/.local/share/mime
Binary not found:
Ensure ~/.local/bin is in your PATH.
Windows
File associations not working:
- Restart File Explorer
- Check registry entries (see docs/FILE_ASSOCIATIONS.md)
Permission errors: Run PowerShell as Administrator or install to user directory.
For more troubleshooting, see docs/FILE_ASSOCIATIONS.md.
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and formatting
- Submit a pull request
License
MIT OR Apache-2.0
Acknowledgments
Built with: