Skip to content

azygis/clef-viewer

Repository files navigation

CLEF Viewer

A modern desktop application for viewing and analyzing CLEF (Compact Log Event Format) log files with advanced filtering, search, and visualization capabilities.

CLEF Viewer License Version

🎯 What is CLEF?

CLEF (Compact Log Event Format) is a JSON-based log file format that's particularly popular with .NET applications using Serilog. CLEF files contain structured log events with timestamps, levels, messages, and properties, making them powerful for analysis but challenging to read in raw format.

✨ Features

📋 Log File Management

  • Open and view CLEF log files instantly
  • Real-time log file monitoring and updates
  • Support for large log files with efficient loading
  • Recent files history for quick access

🔍 Advanced Filtering & Search

  • Filter by log level (Verbose, Debug, Information, Warning, Error, Fatal)
  • Full-text search across log messages and properties
  • Date/time range filtering
  • Custom property filtering
  • Regular expression support

📊 Data Visualization

  • Clean, tabular view of log events
  • Expandable property inspection
  • Event count summaries by level
  • Syntax highlighting for JSON properties
  • Timestamps in customizable format

🎨 User Experience

  • Modern, responsive UI built with Vue.js and Vuetify
  • Resizable columns and panels

📦 Installation

Windows

  • Installer (recommended): Download the latest .exe installer
  • Portable: Download the portable .exe version

macOS

  • ZIP Archive: Download the latest .zip file

Linux

  • AppImage (recommended): Download the latest .AppImage file
  • Debian/Ubuntu: Download the .deb package
  • Fedora/RHEL/CentOS: Download the .rpm package
  • Portable: Download the .tar.gz archive

📥 Download from GitHub Releases

Note: Package manager support (Chocolatey, Winget, Snap, Flatpak, etc.) is planned for future releases.

🚀 Quick Start

  1. Launch the application
  2. Open a CLEF file using File → Open or drag & drop
  3. Filter events using the filter input and event properties
  4. Search for specific text or patterns
  5. Inspect properties by expanding log events

🛠️ Development

Prerequisites

  • Node.js 18+
  • .NET 8.0 SDK
  • Docker (for cross-platform builds)

Setup

# Clone repository
git clone https://github.com/azygis/clef-viewer.git
cd clef-viewer

# Start backend
cd backend/ClefViewer.API
dotnet run

# Install UI dependencies and start dev server
cd frontend && yarn install && yarn dev

Building

# Build all platforms
./build.sh

🏗️ Architecture

  • Frontend: Electron + Vue.js + TypeScript + Vuetify
  • Backend: .NET 8.0 Web API for log processing
  • Communication: SignalR for real-time updates
  • Packaging: Electron Builder with cross-platform support

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/some-feature)
  3. Commit your changes (git commit -m 'Add some feature')
  4. Push to the branch (git push origin feature/some-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🆘 Support

🏆 Why CLEF Viewer?

  • 🎯 Purpose-built for CLEF log analysis
  • ⚡ Fast handling of large log files
  • 🔍 Powerful filtering and search capabilities
  • 🎨 Modern user interface
  • 🆓 Free and open source
  • 🌐 Cross-platform Windows and Linux support

🙏 Acknowledgments

This project is heavily inspired by @warrenbuckley and his excellent Compact-Log-Format-Viewer. Warren's work provided the foundation and inspiration for building this modern version with enhanced features and performance.


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •