Git Product home page Git Product logo

logreader's Introduction

Log Reader

Log Reader is a powerful desktop application tailored for developers and system administrators grappling with complex, multiline log files. It transforms the tedious task of sifting through extensive logs into a streamlined and manageable process. Leveraging the cross-platform capabilities of AvaloniaUI, Log Reader offers a seamless and responsive experience on Windows, Linux, and macOS, ensuring you can focus on the content that matters, no matter where you are working from.

๐ŸŒŸ Features

  • Tabbed Interface: Work with multiple log files simultaneously through a tabbed document interface.
  • Split View & Multiline Log Analysis: Our split view interface is specifically engineered for complex, multiline log files. It features a concise list of log entries on the left to facilitate quick browsing, alongside an expanded detail view on the right that clearly delineates each log entry for thorough analysis. This dual-pane approach simplifies the examination of extensive logs, where identifying the start and end of each entry in a standard text editor can be cumbersome.
  • Real-Time Monitoring: Stay on top of live updates with automatic refreshes that capture and display log changes as they happen.
  • Performance Optimized: Built to handle large files with minimal resource consumption, allowing for rapid loading and smooth scrolling, even with substantial log data.
  • Hardcoded Parsing Format: Comes with a predefined log parsing format, primed for future enhancements and customization.

๐Ÿš€ Planned Features

  • Syntax Highlighting: Improve readability with color coding based on log severity or content.
  • Customizable Parsing: Regex support for user-defined log parsing rules.
  • Advanced Filtering: Tools to sift through logs based on criteria such as timestamps, severity, or custom patterns.
  • Extensibility: Ability for users to contribute custom parsers and highlighters to match specific log formats.

๐Ÿ”ง Getting Started

Prerequisites

  • .NET 7.0 Runtime installed
  • Compatible with major operating systems, although primarily tested on Windows.

Installation

Download the latest release from the releases page and execute the program on your machine.

๐Ÿ“– Usage

Log Reader is for anyone who works with log files, from developers to system administrators. Initially tailored for personal use, it's adaptable for various logging formats, making it a versatile tool for log analysis.

๐Ÿค Contributing

Your contributions make the open-source community a fantastic place to learn, inspire, and create. Any contributions you make are greatly appreciated. If you have suggestions for improving Log Reader, please fork the repo and create a pull request or simply open an issue with the tag "enhancement".

๐Ÿ“œ License

Distributed under the MIT License. See the LICENSE file for more information.

๐Ÿ› ๏ธ Build Status

Build and Upload Release

๐Ÿ–ผ๏ธ Screenshots

Log Reader Main Interface Main interface with tabbed document view.

logreader's People

Contributors

sumrix avatar

Watchers

 avatar

logreader's Issues

Cross-Platform Builds

Expand the application's availability by adding builds for other operating systems.

Implement Log List Viewing in Console Version

Extend the console application to display log entries sequentially.

Steps:

  1. Parse multiline log entries (initial hardcoded version).
  2. Implement a mechanism to continuously display log entries until user interrupts with Ctrl+C.
  3. Test the console version with various log files to ensure accurate display.

Implement Multi-File Handling

Enable the application to work with multiple log files simultaneously and offer an intuitive way to switch between logs within the same directory.

Implement Detailed Log Viewing in Desktop Version

Implement a feature in the desktop version where users can view log entries as a list. Upon selecting a particular log entry, its detailed view should be displayed.

Steps:

  • Integrate a virtualized list to handle large log files efficiently.
  • Design and implement a user-friendly interface for log list and details view.
  • Test the desktop version to ensure it accurately displays and analyzes log files.

Persistent User Settings

Implement a system to save user preferences and settings between sessions. This should include:

  • Window Preferences:

    • Save and restore the window size and location.
    • Remember if the window was in fullscreen mode.
  • Session State:

    • Keep track of opened directories and files, ensuring that the user can pick up right where they left off in the previous session.
  • Extensibility:

    • Design the system in a flexible way to easily accommodate new settings and preferences in the future. This could involve using a scalable data structure or format (like JSON or XML) that allows for easy addition of new fields without disrupting existing functionality.

The goal is to enhance the user experience by making the application feel more responsive and tailored to individual usage patterns, while also providing a foundation that supports the evolving needs of the application.

UI Style Overhaul for Enhanced User Experience

Objective

Refine the application's interface focusing on usability, aesthetics, and efficient use of space to create a more user-friendly experience.

Tasks

Borders Redesign

  • Adjust Border Thickness: Re-evaluate and adjust border widths to reduce visual noise.
  • Color Management: Remove unnecessary border colors for a cleaner look and introduce subtle colors where needed to delineate areas of the UI.

TabControl Optimization

  • Tab Size Reduction: Decrease tab height to allow more content in view and increase tab width to fully utilize horizontal space.
  • Font Resizing: Implement a smaller font size for tab titles to maximize space while maintaining legibility.
  • Close Button: Add a close button to tabs for quick dismissal while ensuring that titles remain easily readable.

Color Scheme Consistency

  • Color Audit: Conduct an audit of the current colors used throughout the UI.
  • Color Scheme Application: Apply a harmonious and consistent color scheme that aids usability and ensures sufficient contrast.

General UI Enhancements

  • Streamline Components: Aim for a minimalist and modern design aesthetic.
  • Clarify Interactivity: Ensure interactive elements are distinguishable from static content.
  • Spacing and Alignment: Improve spacing and alignment for an organized layout.
  • Accessibility Review: Assess and enhance UI components for accessibility.

Collaboration

Work with a UI/UX designer to revisit the styling and develop a cohesive design language. Utilize user feedback to iterate and refine the interface.

Helpful links:
https://stackoverflow.com/questions/76599887/how-to-resize-the-headerarea-in-avalonia-ui-tabcontrol
https://github.com/AvaloniaUI/Avalonia/blob/e40d5d624cb6e3eb54743b4046d69ebe69e56b5a/src/Avalonia.Themes.Simple/Controls/TabControl.xaml#L5
https://github.com/AvaloniaUI/Avalonia/blob/e40d5d624cb6e3eb54743b4046d69ebe69e56b5a/src/Avalonia.Themes.Fluent/Controls/TabControl.xaml#L6
https://github.com/AvaloniaUI/Avalonia/blob/e40d5d624cb6e3eb54743b4046d69ebe69e56b5a/src/Avalonia.Themes.Fluent/Controls/TabItem.xaml

Installer for Releases

Include an installer in the releases to simplify the installation process for end-users.

Log Entry Filtering

Implement a filtering mechanism to easily find and focus on relevant log entries.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.