如何将Laravel日志文件数据存储到数据库中(5.5)

时间:2019-06-18 16:09:39

标签: php laravel monolog

我需要将Laravel日志存储到数据库中。你能帮我吗?

2 个答案:

答案 0 :(得分:0)

Laravel supports Monolog用于处理日志。 Monolog支持许多不同的处理程序,包括MongoDB handler之类的数据库处理程序。

您可以通过在forEach()文件中的channels数组中添加新通道来使用MongoDB处理程序,例如:

config/logging.php

然后,您可以在'channels' => [ 'mongolog' => [ 'driver' => 'monolog', 'handler' => Monolog\Handler\MongoDBHandler::class, 'with' => [ 'database' => 'mongo-database-name', 'collection' => 'log-collection-name', ], ], 文件中将默认日志通道设置为mongolog,例如.env

答案 1 :(得分:0)

转到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 ='日志';     受保护的$ fillable =     ['ID',     '文件',    'error_summary',    'log_trace'    ];