Skip to content

hotrush/laravel-log-notification-channel

Repository files navigation

Laravel log notifications channel

Latest Version on Packagist Software License Total Downloads

Send notifications into log with Laravel, easier to pretend other services e.g. sms or push notifications.

Contents

Installation

composer require hotrush/laravel-log-notification-channel

Setting up the log service

You can add LOG_NOTIFICATIONS_CHANNEL into your .env file to customize log channel to use, otherwise default one will be used.

Usage

<?php

namespace App\Notifications;

use App\Post;
use Illuminate\Notifications\Notification;
use NotificationChannels\Log\LogChannel;
use NotificationChannels\Twilio\TwilioChannel;
use NotificationChannels\Log\LogMessage;


class AuthCodeCreatedNotification extends Notification
{
    /**
     * @var Post
     */
    private $post;

    /**
     * Create a new notification instance.
     *
     * @param Post $post
     * @return void
     */
    public function __construct(Post $post)
    {
        $this->post = $post;
    }

    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable)
    {
        return app()->environment('production')
            ? [TwilioChannel::class]
            : [LogChannel::class];
    }

    /**
     * Get the log message representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return LogMessage
     */
    public function toLog($notifiable)
    {
        return new LogMessage('Pretended sms send to :number and with content: :content');
    }
}

License

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