Skip to content

LogArcOfficial/com.logarc

Repository files navigation

LogArc - Centralized Application Logging & Monitoring Platform

LogArc is a powerful, centralized logging platform designed to help developers monitor, analyze, and debug applications across multiple environments. Built with Laravel and Filament, it provides a modern, intuitive interface for comprehensive application monitoring.

πŸš€ Features

Core Functionality

  • Multi-Environment Support: Monitor logs from local, development, staging, and production environments
  • Structured Logging: Capture detailed context including class names, method names, line numbers, and custom data
  • Real-time Analytics: Get instant insights with real-time dashboards showing log levels, environments, and trends
  • User Context Tracking: Track user actions and context with detailed user information in every log entry
  • Project Isolation: Secure multi-tenancy with unique project keys and isolated log storage
  • Simple API Integration: Easy REST API integration with comprehensive validation and error handling

Log Levels Supported

  • Debug: Detailed debugging information
  • Info: General information messages
  • Notice: Normal but significant events
  • Warning: Warning conditions
  • Error: Error conditions
  • Critical: Critical conditions
  • Alert: Action must be taken immediately
  • Emergency: System is unusable

Technical Features

  • RESTful API: Simple POST endpoint for log ingestion (POST /api/log)
  • Multi-tenant Architecture: Isolated projects with unique UUIDs
  • Comprehensive Validation: Robust input validation for all log fields
  • JSON Data Storage: Flexible storage for additional log data and user context
  • Indexed Queries: Optimized database queries for fast log retrieval
  • Modern UI: Built with Filament for an intuitive admin experience

πŸ› οΈ Technology Stack

  • Backend: Laravel 12 (PHP 8.2+)
  • Frontend: Filament V4 Admin Panel
  • Database: MySQL
  • API: RESTful API with JSON responses
  • Styling: Tailwind CSS
  • Icons: Font Awesome

πŸ“± Screenshots

Dashboard

  • Real-time log analytics
  • Environment-based statistics
  • Log level distribution
  • 24-hour activity overview

Log Management

  • Comprehensive log viewing
  • Search and filtering capabilities
  • Detailed log information display
  • JSON data viewer

Project Management

  • Multi-project support
  • User role management
  • Project key generation
  • Secure access control

πŸ’° Pricing

LogArc is 100% Free Forever - We believe that powerful application monitoring should be accessible to all developers without cost barriers.

How We Stay Free

  • Community Support: Built and maintained by the open-source community
  • Sponsorships: Generous sponsors help cover infrastructure costs
  • Efficient Architecture: Optimized to minimize operational expenses

πŸš€ Getting Started

Prerequisites

  • PHP 8.2 or higher
  • Composer
  • MySQL/PostgreSQL
  • Node.js & NPM

Installation

  1. Clone the repository

    git clone <repository-url>
    cd com.logarc
  2. Install PHP dependencies

    composer install
  3. Install Node dependencies

    npm install
  4. Environment setup

    cp .env.example .env
    php artisan key:generate
  5. Database setup

    php artisan migrate
    php artisan db:seed
  6. Build assets

    npm run build
  7. Start the application

    php artisan serve

πŸ“– API Documentation

Log Ingestion Endpoint

POST /api/log

Request Body

{
  "project_key": "your-project-uuid",
  "log_timestamp": "2023-10-01T12:00:00Z",
  "app_env": "production",
  "level": "info",
  "class_name": "App\\Services\\UserService",
  "method_name": "createUser",
  "line_number": 42,
  "message": "User created successfully",
  "data": {"user_id": 123, "email": "user@example.com"},
  "user": {"id": 1, "name": "Admin User"}
}

Response

{
  "success": true,
  "data": [],
  "message": "Log stored successfully",
  "status": 201
}

Field Descriptions

Field Type Required Description
project_key string Yes Unique project identifier
log_timestamp datetime Yes ISO 8601 formatted timestamp
app_env enum Yes Environment (local, development, staging, production)
level enum Yes Log level (debug, info, notice, warning, error, critical, alert, emergency)
class_name string Yes Class where the log originated
method_name string Yes Method where the log originated
line_number integer Yes Line number in the source code
message string No Human-readable log message
data object No Additional structured data
user object No User context information

πŸ” Security Features

  • Project Isolation: Each project has a unique UUID for secure access
  • Input Validation: Comprehensive validation for all API inputs
  • SQL Injection Protection: Laravel's built-in protection mechanisms
  • XSS Protection: Output encoding and sanitization
  • Rate Limiting: Configurable API rate limiting

πŸ—οΈ Architecture

Database Schema

  • Projects: Multi-tenant project management
  • Users: User authentication and management
  • Project Users: Many-to-many relationship with roles
  • Logs: Centralized log storage with indexing

Multi-tenancy

  • Filament-based tenant management
  • Isolated data access per project
  • Role-based user permissions
  • Secure project key generation

πŸ“Š Monitoring & Analytics

Dashboard Widgets

  • Log Analytics: Environment and level-based statistics
  • Project Key: Secure key management and copying
  • Real-time Metrics: Live log count and trends
  • Performance Insights: Query optimization and indexing

Log Analysis

  • Environment-based filtering
  • Log level categorization
  • Time-based analysis
  • User action tracking
  • Custom data exploration

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request to master branch

πŸ“„ License

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

πŸ†˜ Support

πŸ—ΊοΈ Roadmap

  • Desktop application

LogArc - Making application monitoring simple, powerful, and accessible.

About

Remote Log Viewer

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors

Languages