spatie/laravel-tail

Easily tail application logs

Fund package maintenance!
spatie.be/open-source/support-us

Installs: 1 862 733

Dependents: 6

Suggesters: 0

Security: 0

Stars: 734

Watchers: 11

Forks: 45

4.5.0 2024-02-29 08:26 UTC

README

Latest Version Software License Total Downloads

This package offers an artisan command to tail the application log. It supports daily and single logs on your local machine.

To tail the log you can use this command:

php artisan tail

It can also tail logs on other environments:

php artisan tail production

Support us

68747470733a2f2f6769746875622d6164732e73332e65752d63656e7472616c2d312e616d617a6f6e6177732e636f6d2f6c61726176656c2d7461696c2e6a70673f743d31

We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.

Installation

You can install the package via composer:

composer require spatie/laravel-tail

You can publish the config file with:

php artisan vendor:publish --provider="Spatie\Tail\TailServiceProvider"

This is the contents of the file that will be published at config/tail.php:

return [
    'production' => [
        
        /*
         * The host that contains your logs.
         */
        'host' => env('TAIL_HOST_PRODUCTION', ''),

        /*
         * The user to be used to SSH to the server.
         */
        'user' => env('TAIL_USER_PRODUCTION', ''),

        /*
         * The path to the directory that contains your logs.
         */
        'log_directory' => env('TAIL_LOG_DIRECTORY_PRODUCTION', ''),

        /*
         * The filename of the log file that you want to tail.
         * Leave null to let the package automatically select the file.
         */
        'file' => env('TAIL_LOG_FILE_PRODUCTION', null),
        
    ],
];

Usage

To tail the local log you can use this command:

php artisan tail

You can start the output with displaying the last lines in the log by using the lines-option.

php artisan tail --lines=50

By default, the most-recently modified file in the directory will be used. You can specify the file that you would like to tail by using the file option.

php artisan tail --file="other-file.log"

It's also possible to fully clear the output buffer after each log item. This can be useful if you're only interested in the last log entry when debugging.

php artisan tail --clear

Should you wish to filter the log to return only certain keywords then you can also use the grep feature.

php artisan tail --grep="only display lines that contain this string"

Tailing remote logs

To tail remote logs, you must first specify values for host, user, log_directory, and file keys of an environment in the tail config file.

After that you can tail that logs of an environment like this

php artisan tail production

You can also use the --clear, --file, and --lines options described above.

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you've found a bug regarding security please mail security@spatie.be instead of using the issue tracker.

Credits

This package was created because the awesome tail command present in Laravel 4 was dropped in Laravel 5. The tail command from this package is equivalent to Laravel's old one minus the remote tailing features.

License

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