diff --git a/composer.json b/composer.json index b09a042..7fc8dc9 100644 --- a/composer.json +++ b/composer.json @@ -22,12 +22,12 @@ } ], "require": { - "php": ">=7.2|^8.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0", - "rollbar/rollbar": "^2.0 | ^3.1" + "php": "^8.1", + "illuminate/support": "^10.0", + "rollbar/rollbar": "^4.0" }, "require-dev": { - "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0", + "orchestra/testbench": "^8.0", "mockery/mockery": "^1", "php-coveralls/php-coveralls": "^2.2", "squizlabs/php_codesniffer": "3.*", diff --git a/src/MonologHandler.php b/src/MonologHandler.php index d168199..491c7eb 100644 --- a/src/MonologHandler.php +++ b/src/MonologHandler.php @@ -3,28 +3,41 @@ namespace Rollbar\Laravel; use Monolog\Handler\RollbarHandler; +use Monolog\LogRecord; class MonologHandler extends RollbarHandler { protected $app; + /** + * @param $app + * @return void + */ public function setApp($app) { $this->app = $app; } - protected function write(array $record): void + /** + * @param LogRecord $record + * @return void + */ + protected function write(LogRecord $record): void { - $record['context'] = $this->addContext($record['context']); - parent::write($record); + parent::write(new LogRecord($record->datetime, + $record->channel, + $record->level, + $record->message, + $this->addContext($record->context), + $record->extra, + $record->formatted)); } /** - * Add Laravel specific information to the context. - * * @param array $context + * @return array */ - protected function addContext(array $context = []) + protected function addContext(array $context = []): array { $config = $this->rollbarLogger->extend([]); @@ -47,7 +60,7 @@ protected function addContext(array $context = []) } elseif (method_exists($data, 'getKey')) { $person['id'] = $data->getKey(); } - + if (isset($person['id'])) { if (isset($data->username)) { $person['username'] = $data->username;