PHPackages                             ibrahim-eng12/log-owl - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Debugging &amp; Profiling](/categories/debugging)
4. /
5. ibrahim-eng12/log-owl

ActiveLibrary[Debugging &amp; Profiling](/categories/debugging)

ibrahim-eng12/log-owl
=====================

A Laravel package to view, navigate, filter logs with descriptions and solutions

v1.0.0(3mo ago)67MITPHPPHP ^8.1

Since Feb 3Pushed 3mo agoCompare

[ Source](https://github.com/ibrahim-eng12/log-owl)[ Packagist](https://packagist.org/packages/ibrahim-eng12/log-owl)[ RSS](/packages/ibrahim-eng12-log-owl/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

🦉 LogOwl
========

[](#-logowl)

A Laravel package to view, navigate, and filter application logs with intelligent error descriptions and suggested solutions.

 [![LogOwl Logo](public/logo.png)](public/logo.png)

Gallery
-------

[](#gallery)

 [![LogOwl Screenshot 1](1.png)](1.png) [![LogOwl Screenshot 2](2.png)](2.png)

Features
--------

[](#features)

- 📋 View and navigate Laravel log files
- 🔍 Filter logs by level, date range, and search terms
- 📊 Statistics dashboard showing error counts by level and type
- 💡 Intelligent error analysis with descriptions and solutions
- 🌍 Multi-language support (English &amp; Arabic)
- 🔄 RTL (Right-to-Left) layout support for Arabic
- 🎨 Clean, responsive UI
- 🔐 Protected with authentication middleware
- 📥 Download and clear log files
- 📱 Mobile-friendly interface

Installation
------------

[](#installation)

### 1. Install via Composer

[](#1-install-via-composer)

```
composer require ibrahim-eng12/log-owl
```

### 2. Publish Configuration (Optional)

[](#2-publish-configuration-optional)

```
php artisan vendor:publish --tag=log-viewer-config
```

### 3. Publish Views (Optional)

[](#3-publish-views-optional)

```
php artisan vendor:publish --tag=log-viewer-views
```

### 4. Publish Translations (Optional)

[](#4-publish-translations-optional)

```
php artisan vendor:publish --tag=log-viewer-lang
```

### 5. Publish Assets - Logo (Optional)

[](#5-publish-assets---logo-optional)

```
php artisan vendor:publish --tag=log-owl-assets
```

This will publish the logo to `public/vendor/log-owl/logo.png`.

Configuration
-------------

[](#configuration)

After publishing the configuration, you can modify `config/log-viewer.php`:

```
return [
    // URL prefix for log viewer routes
    'route_prefix' => 'logs',

    // Middleware applied to all routes
    'middleware' => ['web', 'auth'],

    // Path to log files
    'log_path' => storage_path('logs'),

    // Logs per page
    'per_page' => 25,

    // Restrict to specific users (empty = all authenticated)
    'allowed_users' => [],

    // Allow clearing log files
    'allow_clear' => true,

    // Allow downloading log files
    'allow_download' => true,

    // Default locale (null = use app locale)
    'locale' => null,

    // Available locales for the language switcher
    'available_locales' => [
        'en' => 'English',
        'ar' => 'Arabic',
    ],
];
```

Usage
-----

[](#usage)

After installation, navigate to `/logs` in your browser (while authenticated) to access LogOwl.

### Routes

[](#routes)

RouteMethodDescription`/logs`GETView logs dashboard`/logs/show/{id}`GETGet log entry details (JSON)`/logs/clear`POSTClear current log file`/logs/download`GETDownload current log file`/logs/set-locale`POSTChange language (stored in session)### Filtering Logs

[](#filtering-logs)

- **By Level**: Filter by emergency, alert, critical, error, warning, notice, info, debug
- **By Search**: Search within log messages and error types
- **By Date**: Filter by date range

Supported Error Types
---------------------

[](#supported-error-types)

LogOwl recognizes and provides solutions for common Laravel errors:

- **Database Errors**: Connection issues, missing tables/columns, duplicates
- **Authentication Errors**: Unauthenticated access, CSRF mismatches
- **File Errors**: Permission denied, file not found
- **View Errors**: Missing Blade templates
- **Class/Method Errors**: Class not found, undefined methods
- **Route Errors**: Route not defined, method not allowed, 404
- **Memory/Timeout Errors**: Memory exhausted, execution timeout
- **Queue Errors**: Failed jobs, max attempts exceeded
- **Cache/Session Errors**: Store not configured
- **Mail Errors**: Transport failures
- And many more...

Multi-Language Support
----------------------

[](#multi-language-support)

LogOwl supports multiple languages with a built-in language switcher. Currently supported languages:

- **English** (en) - Default
- **Arabic** (ar) - With full RTL support

### Changing the Default Language

[](#changing-the-default-language)

Set the default locale in your configuration:

```
'locale' => 'ar', // Set Arabic as default
```

Or leave it as `null` to use your application's current locale.

### Adding a New Language

[](#adding-a-new-language)

1. Publish the translation files:

```
php artisan vendor:publish --tag=log-viewer-lang
```

2. Copy one of the existing language files (e.g., `en/log-viewer.php`) to a new folder with your language code (e.g., `fr/log-viewer.php`)
3. Translate all strings in the new file
4. Add the new locale to your configuration:

```
'available_locales' => [
    'en' => 'English',
    'ar' => 'Arabic',
    'fr' => 'French',
],
```

### RTL Support

[](#rtl-support)

The interface automatically switches to RTL (Right-to-Left) layout when Arabic is selected. The RTL detection is based on the current locale.

Customization
-------------

[](#customization)

### Adding Custom Error Patterns

[](#adding-custom-error-patterns)

Extend the `LogParser` service to add custom error patterns:

```
use Ibrah\LaravelLogViewer\Services\LogParser;

class CustomLogParser extends LogParser
{
    protected array $errorPatterns = [
        // Add your custom patterns (pattern => translation_key)
        'MyCustomException' => 'my_custom_error',
        // ... parent patterns will be inherited
    ];
}
```

Then add the translation key to your language files:

```
// resources/lang/vendor/log-viewer/en/log-viewer.php
'error_types' => [
    'my_custom_error' => [
        'type' => 'Custom Error',
        'description' => 'Description of the error.',
        'solutions' => [
            'Solution 1',
            'Solution 2',
        ],
    ],
    // ... other error types
],
```

Register in a service provider:

```
$this->app->singleton(LogParser::class, CustomLogParser::class);
```

### Custom Views

[](#custom-views)

Publish and modify the views:

```
php artisan vendor:publish --tag=log-viewer-views
```

Views will be published to `resources/views/vendor/log-viewer/`.

Security
--------

[](#security)

- All routes are protected by the `auth` middleware by default
- Configure `allowed_users` to restrict access to specific users
- Disable `allow_clear` and `allow_download` in production if needed

Requirements
------------

[](#requirements)

- PHP 8.1+
- Laravel 10.0, 11.0, or 12.0

License
-------

[](#license)

[MIT License](LICENSE)

###  Health Score

38

—

LowBetter than 84% of packages

Maintenance87

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

94d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/05baae4a5e538a69414ac964017d9d79d2550691708f804d1a0de699e53c62e5?d=identicon)[ibrahim-eng12](/maintainers/ibrahim-eng12)

---

Top Contributors

[![ibrahim-eng12](https://avatars.githubusercontent.com/u/126605683?v=4)](https://github.com/ibrahim-eng12 "ibrahim-eng12 (2 commits)")

---

Tags

laraveldebuglogserror handlingViewerlogowllog-owl

### Embed Badge

![Health badge](/badges/ibrahim-eng12-log-owl/health.svg)

```
[![Health](https://phpackages.com/badges/ibrahim-eng12-log-owl/health.svg)](https://phpackages.com/packages/ibrahim-eng12-log-owl)
```

###  Alternatives

[barryvdh/laravel-debugbar

PHP Debugbar integration for Laravel

19.1k124.3M621](/packages/barryvdh-laravel-debugbar)[fruitcake/laravel-debugbar

PHP Debugbar integration for Laravel

19.1k662.9k28](/packages/fruitcake-laravel-debugbar)[spatie/laravel-web-tinker

Artisan Tinker in your browser

1.2k3.8M6](/packages/spatie-laravel-web-tinker)[recca0120/laravel-tracy

A Laravel Package to integrate Nette Tracy Debugger

388283.0k3](/packages/recca0120-laravel-tracy)[php-console/laravel-service-provider

Laravel service provider to handle PHP errors, dump variables, execute PHP code remotely in Google Chrome

7361.2k1](/packages/php-console-laravel-service-provider)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
