如何将 laravel 日志文件数据存储到数据库中(5.5)
How to store laravel log file data into database(5.5)
我需要将 Laravel 日志存储到我的数据库中。你能帮帮我吗?
Laravel supports Monolog for handling logs. Monolog supports many different handlers, including database handlers like the MongoDB handler.
您可以通过向 config/logging.php
文件中的 channels
数组添加新通道来使用 MongoDB 处理程序,例如:
'channels' => [
'mongolog' => [
'driver' => 'monolog',
'handler' => Monolog\Handler\MongoDBHandler::class,
'with' => [
'database' => 'mongo-database-name',
'collection' => 'log-collection-name',
],
],
然后您可以在 .env
文件中将默认日志通道设置为 mongolog
,例如LOG_CHANNEL=mongolog
.
转到 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 =
['id',
'file',
'error_summary',
'log_trace'
];
我需要将 Laravel 日志存储到我的数据库中。你能帮帮我吗?
Laravel supports Monolog for handling logs. Monolog supports many different handlers, including database handlers like the MongoDB handler.
您可以通过向 config/logging.php
文件中的 channels
数组添加新通道来使用 MongoDB 处理程序,例如:
'channels' => [
'mongolog' => [
'driver' => 'monolog',
'handler' => Monolog\Handler\MongoDBHandler::class,
'with' => [
'database' => 'mongo-database-name',
'collection' => 'log-collection-name',
],
],
然后您可以在 .env
文件中将默认日志通道设置为 mongolog
,例如LOG_CHANNEL=mongolog
.
转到 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 = ['id', 'file', 'error_summary', 'log_trace' ];