Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Notification Log Laravel Package

spatie/laravel-notification-log

Logs all notifications sent by your Laravel app, storing them as NotificationLogItems so you can query what was sent to a user, display notification history, and make sending decisions (e.g., avoid duplicates) via helpers like wasSentTo() and inThePastMinutes().

View on GitHub
Deep Wiki
Context7

title: Introduction weight: 1

This package will log all the notifications sent by your app. This will allow you to write logic based on the notifications your app has sent.

If you want to create a list of all notifications sent to a user

// returns a collection of `NotificationLogItem` models
$sentNotifications = $user->loggedNotifications();

In a view you could write this:

<ul>
[@foreach](https://github.com/foreach)($sentNotifications as $sentNotification)
    <li>{{ $sentNotification->notification_type }} at {{ $sentNotification->created_at->format('Y-m-d H:i:s') }}</li>
[@endforeach](https://github.com/endforeach)
</ul>

The package also contains handy methods that allow you to make decisions based on the notifications sent. Here's an example, where we use the wasSentTo method provided by the package in the shouldSend method of a notification.

use Spatie\NotificationLog\Models\Concerns\HasHistory;

// in a notification

// set history trait
use HasHistory;

// verifying if the queued notification can be sent based in the history
public function shouldSend($notifiable)
{
      return ! $this
        ->wasSentTo($notifiable)
        ->inThePastMinutes(60);
}

You can fully customize which notifications get logged and how they get logged.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport
twbs/bootstrap4
php-http/client-implementation
phpcr/phpcr-implementation
cucumber/gherkin-monorepo
haydenpierce/class-finder
psr/simple-cache-implementation