Как сохранить данные файла журнала Laravel в базу данных (5.5) - PullRequest
0 голосов
/ 18 июня 2019

Мне нужно сохранить журнал Laravel в моей базе данных. Можете ли вы помочь мне?

Ответы [ 2 ]

0 голосов
/ 12 июля 2019

Перейдите в App / Exceptions / Handler.php, а затем напишите ниже код в функции report () и определите свою модель как ErrorLog

        $data = [
            'id'      => $this->createUniversalUniqueIdentifier(),
            'file'    => $exception->getFile(),
            'line'    => $exception->getLine(),
            'message' => $exception->getMessage(),
            'trace'   => $exception->getTraceAsString(),
        ];

          $dataArr =['id'     => $data['id'],
             'file'           => $data['file'],
             'error_summary'  => 'Line '.$data['line'].' '.$data['message'],
             'log_trace'      => $data['trace']
             ];
        ErrorLog::create($dataArr);

Ваш файл модели должен быть таким ErrorLog.php защищенный $ table = 'logs'; защищенный $ fillable = ['Я бы', 'файл', 'Error_summary', 'Log_trace' ];

0 голосов
/ 02 июля 2019

Laravel поддерживает Monolog для обработки журналов. Monolog поддерживает множество различных обработчиков, включая обработчики баз данных, такие как MongoDB handler .

Вы можете использовать обработчик MongoDB, добавив новый канал в массив channels в файле config/logging.php, например ::

'channels' => [
    'mongolog' => [
        'driver'  => 'monolog',
        'handler' => Monolog\Handler\MongoDBHandler::class,
        'with' => [
            'database' => 'mongo-database-name',
            'collection' => 'log-collection-name',
        ],
    ],

Затем вы можете установить канал журнала по умолчанию на mongolog в файле .env, например. LOG_CHANNEL=mongolog.

...