«message»: «Вызов функции-предупреждения warning () при нулевом значении», - PullRequest
0 голосов
/ 24 августа 2018

Это моя модель Laravel

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use App\Library\Log as MailLog;

class SendingServerPhpMail extends SendingServer
{
    protected $table = 'sending_servers';

    public function send($message, $params = array())
    {
        try {
            $transport = \Swift_MailTransport::newInstance();

            // Create the Mailer using your created Transport
            $mailer = \Swift_Mailer::newInstance($transport);

            // Actually send
            $sent = $mailer->send($message);
            if ($sent) {
                MailLog::info('Sent!');

                return array(
                    'status' => self::DELIVERY_STATUS_SENT,
                );
            } else {
                **MailLog::warning('Sending failed');**

                return array(
                    'status' => self::DELIVERY_STATUS_FAILED,
                    'error' => 'Unknown SMTP error',
                );
            }
        } catch (\Exception $e) {
            MailLog::warning('Sending failed');
            MailLog::warning($e->getMessage());

            return array(
                'status' => self::DELIVERY_STATUS_FAILED,
                'error' => $e->getMessage(),
                'message_id' => null,
            );
        }
    }
}
?>

Это библиотека, которую я использую в качестве почтового журнала.

<?php

namespace App\Library;

use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Formatter\LineFormatter;


class Log
{
    public static $logger;
    public static $path;


    public static function warning($message)
    {
        self::$logger->warning($message);
    }

}
?>

Я получаю эту ошибку при вызове функции предупреждения, объявленной в библиотеке почтовых журналов. вы можете увидеть модальный, где я вызываю функцию предупреждения «message»: «Вызов функции-предупреждения warning () при нулевом значении»

В модальном режиме я использовал библиотеку почтовых журналов, после чего я вызываю предупреждение и другую функцию в модели, которая определена в библиотеке почтовых журналов. но для функции предупреждения я получаю сообщение об ошибке Вызов функции-члена warning () со значением null

1 Ответ

0 голосов
/ 24 августа 2018

Я думаю, это потому, что $ logger внутри класса App \ Library \ Log никогда не устанавливается

public static function warning($message)
{
    if (! self::$logger) {
        self::$logger = new Logger('name');
        self::$logger->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
    }
    self::$logger->warning($message);
}

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...