A tool to activity logger to monitor the users of your Laravel Nova.

v0.4.1 2023-08-11 11:10 UTC

This package is auto-updated.

Last update: 2023-11-26 16:40:17 UTC


StyleCI Packagist Downloads Packagist Version GitHub FOSSA Status

A tool to activity logger to monitor the users of your Laravel Nova.



You can install the package in to a Laravel app that uses Nova via composer:

composer require bolechen/nova-activitylog

You can publish the migration with:

php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-migrations"

Note: The default migration assumes you are using integers for your model IDs. If you are using UUIDs, or some other format, adjust the format of the subject_id and causer_id fields in the published migration before continuing.

After publishing the migration you can create the activity_log table by running the migrations:

php artisan migrate

You can optionally publish the config file with:

php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="config"

You may only want to log actions from nova, put this line to your .env files let default logger off.


How to use

Next up, you must register the tool with Nova. This is typically done in the tools method of the NovaServiceProvider.

// in app/Providers/NovaServiceProvder.php

// ...

public function tools()
    return [
        // ...
        new \Bolechen\NovaActivitylog\NovaActivitylog(),

Because the backend uses the spatie/laravel-activitylog package, you need to let your model use the Spatie\Activitylog\Traits\LogsActivity trait.

Here's an example:

use Illuminate\Database\Eloquent\Model;
use Spatie\Activitylog\Traits\LogsActivity;

class NewsItem extends Model
    use LogsActivity;

    protected $fillable = ['name', 'text'];
    protected static $logAttributes = ['name', 'text'];

For more advanced usage can look at the doc:


Typical usage of tool authorizing using ->canSee() or ->canSeeWhen() when registering the tool will NOT work. To authorize the tool, simply make and register a Laravel policy for the ActivityLog model. If a user is not able to view them according to the policy, the tool will not show.


If you want to customize the tools. Eg: add filters or cards, you can create your owner resource file extends the original like this:

use Bolechen\NovaActivitylog\Resources\Activitylog;

class Activity extends Activitylog
    public function filters(Request $request)
        return [
            // Your customize filters, etc...
            new Filters\LogsType(),

Next up, publish the config file with:

php artisan vendor:publish --provider="Bolechen\\NovaActivitylog\\ToolServiceProvider" --tag="config"

And change the resource in config/nova-activitylog.php to your custom nova resource.


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

FOSSA Status