mojtabaahn / laravel-web-logs

View Laravel File-Based Logs In Web

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Banner

View Laravel/Lumen logs in browser.

Packagist License Packagist Version GitHub repo size Packagist Downloads

Disclaimer

This package is simply a lightweight web interface for Laravel and Lumen file-based logs. If you need an advanced debugging tool consider trying Telescope, Debugbar, Clockwork or Ray And if you need an error tracking software consider trying Sentry and Bugsnag.

Screen Shot

screen shot

Installation

You can install the package via composer:

composer require mojtabaahn/laravel-web-logs

Now publish package assets using this command:

php artisan vendor:publish --tag="web-logs-assets"

Optionally, you can publish the config file of the package.

php artisan vendor:publish --provider="Mojtabaahn\LaravelWebLogs\Providers\LaravelWebLogsServiceProvider" --tag="config"

Usage

Visit the web-logs/ route use the package. You can change this in the config file.

Configuration

This is the contents of the published config file:

use Mojtabaahn\LaravelWebLogs\Http\Middlewares\Authorize;

return [

    /*
    |--------------------------------------------------------------------------
    | Dashboard Enabled
    |--------------------------------------------------------------------------
    |
    | Here you may specify either dashboard is enabled or not
    |
    */

    'enabled' => env('WEB_LOGS_ENABLED', true),

    /*
    |--------------------------------------------------------------------------
    | Route Group Attributes
    |--------------------------------------------------------------------------
    |
    | This is the array configuring package route attributes. feel free
    | to edit route prefixes, middlewares and anything else.
    |
    | In case you want to add authorization using default auth driver,
    | uncomment web middleware.
    |
    */

    'route_group_attributes' => [
        'prefix' => env('WEB_LOGS_PATH', 'web-logs'),
        'middleware' => [
            // 'web',
            Authorize::class,
        ],
    ],

    /*
    |--------------------------------------------------------------------------
    | Chunk Size
    |--------------------------------------------------------------------------
    |
    | On each request from dashboard to it's back-end how many logs should
    | it read of specified log file. Setting this option to a big number
    | may reduce dashboard performance!
    |
    */

    'chunk_size' => env('WEB_LOGS_CHUNK_SIZE', 10),

    /*
    |--------------------------------------------------------------------------
    | Search Path
    |--------------------------------------------------------------------------
    |
    | Use this property to customize logs directory where package should
    | look for log files.
    |
    */

    'search_path' => storage_path('logs'),
];

Authorization

Web Logs is enabled by default for all users and guests. In case you want to authorize users before accessing it you must register a viewWebLogs ability. A good place to do this is in the AuthServiceProvider that ships with Laravel.

public function boot()
{
    $this->registerPolicies();

    Gate::define('viewWebLogs', function ($user = null) {
        // return true if access to web logs is allowed
    });
}

License

The MIT License (MIT). Please see License File for more information.

About

View Laravel File-Based Logs In Web

License:MIT License


Languages

Language:PHP 56.7%Language:JavaScript 21.0%Language:Vue 19.0%Language:Blade 2.4%Language:CSS 1.0%