Skip to content

Commit 8988c22

Browse files
upgrade to use rollbar-php v1.0.0
1 parent 42920e5 commit 8988c22

File tree

6 files changed

+123
-124
lines changed

6 files changed

+123
-124
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,20 @@ Installation
1313
Install using composer:
1414

1515
```
16-
composer require jenssegers/rollbar
16+
composer require rollbar/rollbar-laravel
1717
```
1818

1919
Add the service provider to the `'providers'` array in `config/app.php`:
2020

2121
```php
22-
Jenssegers\Rollbar\RollbarServiceProvider::class,
22+
Rollbar\Laravel\RollbarServiceProvider::class,
2323
```
2424

2525
If you only want to enable Rollbar reporting for certain environments you can conditionally load the service provider in your `AppServiceProvider`:
2626

2727
```php
2828
if ($this->app->environment('production')) {
29-
$this->app->register(\Jenssegers\Rollbar\RollbarServiceProvider::class);
29+
$this->app->register(\Rollbar\Laravel\RollbarServiceProvider::class);
3030
}
3131
```
3232

composer.json

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,42 @@
11
{
2-
"name": "jenssegers/rollbar",
2+
"name": "rollbar/rollbar-laravel",
33
"description": "Rollbar error monitoring integration for Laravel projects",
44
"keywords": ["laravel", "rollbar", "monitoring", "error", "logging"],
5-
"homepage": "https://github.com/jenssegers/laravel-rollbar",
5+
"homepage": "https://github.com/rollbar/rollbar-php-laravel",
66
"license": "MIT",
77
"authors": [
88
{
99
"name": "Jens Segers",
1010
"homepage": "https://jenssegers.com"
11+
},
12+
{
13+
"name": "Artur Moczulski",
14+
"email": "[email protected]",
15+
"role": "Contractor @ Rollbar, Inc."
1116
}
1217
],
1318
"require": {
1419
"php": ">=5.4",
1520
"illuminate/support": "^4.0|^5.0",
16-
"rollbar/rollbar": "~0.15"
21+
"rollbar/rollbar": "~1.0.0"
1722
},
1823
"require-dev": {
19-
"orchestra/testbench": "^3.0",
24+
"orchestra/testbench": "~3.0",
2025
"mockery/mockery": "^0.9",
2126
"satooshi/php-coveralls": "^1.0",
27+
"squizlabs/php_codesniffer": "2.*",
2228
"phpunit/phpunit": "~4.0|~5.0"
2329
},
2430
"autoload": {
2531
"psr-4": {
26-
"Jenssegers\\Rollbar\\": "src/"
32+
"Rollbar\\Laravel\\": "src/"
2733
}
34+
},
35+
"scripts": {
36+
"test": [
37+
"phpunit --coverage-clover build/logs/clover.xml",
38+
"phpcs --standard=PSR1,PSR2 src tests"
39+
],
40+
"fix": "phpcbf --standard=PSR1,PSR2 src tests"
2841
}
2942
}

src/Facades/Rollbar.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<?php namespace Jenssegers\Rollbar\Facades;
1+
<?php namespace Rollbar\Laravel\Facades;
22

33
use Illuminate\Support\Facades\Facade;
44

@@ -7,10 +7,10 @@ class Rollbar extends Facade
77
/**
88
* Get a schema builder instance for the default connection.
99
*
10-
* @return \Jenssegers\Rollbar\RollbarLogHandler
10+
* @return \Rollbar\Laravel\RollbarLogHandler
1111
*/
1212
protected static function getFacadeAccessor()
1313
{
14-
return 'Jenssegers\Rollbar\RollbarLogHandler';
14+
return 'Rollbar\Laravel\RollbarLogHandler';
1515
}
1616
}

src/RollbarLogHandler.php

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
<?php namespace Jenssegers\Rollbar;
1+
<?php namespace Rollbar\Laravel;
22

33
use Exception;
44
use Illuminate\Foundation\Application;
55
use InvalidArgumentException;
66
use Monolog\Logger as Monolog;
77
use Psr\Log\AbstractLogger;
8-
use RollbarNotifier;
8+
use Rollbar\RollbarLogger;
99

1010
class RollbarLogHandler extends AbstractLogger
1111
{
1212
/**
1313
* The rollbar client instance.
1414
*
15-
* @var RollbarNotifier
15+
* @var logger
1616
*/
17-
protected $rollbar;
17+
protected $logger;
1818

1919
/**
2020
* The Laravel application.
@@ -50,9 +50,9 @@ class RollbarLogHandler extends AbstractLogger
5050
/**
5151
* Constructor.
5252
*/
53-
public function __construct(RollbarNotifier $rollbar, Application $app, $level = 'debug')
53+
public function __construct(RollbarLogger $logger, Application $app, $level = 'debug')
5454
{
55-
$this->rollbar = $rollbar;
55+
$this->logger = $logger;
5656

5757
$this->app = $app;
5858

@@ -76,9 +76,9 @@ public function log($level, $message, array $context = [])
7676
$context = $this->addContext($context);
7777

7878
if ($message instanceof Exception) {
79-
$this->rollbar->report_exception($message, null, $context);
79+
return $this->logger->log($level, $message, $context);
8080
} else {
81-
$this->rollbar->report_message($message, $level, $context);
81+
return $this->logger->log($level, $message, $context);
8282
}
8383
}
8484

@@ -91,34 +91,29 @@ protected function addContext(array $context = [])
9191
{
9292
// Add session data.
9393
if ($session = $this->app->session->all()) {
94-
if (empty($this->rollbar->person) or ! is_array($this->rollbar->person)) {
95-
$this->rollbar->person = [];
96-
}
9794

9895
// Merge person context.
9996
if (isset($context['person']) and is_array($context['person'])) {
100-
$this->rollbar->person = $context['person'];
97+
98+
$this->logger->configure(['person' => $context['person']]);
10199
unset($context['person']);
102-
} else {
103-
if ($this->rollbar->person_fn && is_callable($this->rollbar->person_fn)) {
104-
$data = @call_user_func($this->rollbar->person_fn);
105-
if (isset($data['id'])) {
106-
$this->rollbar->person = call_user_func($this->rollbar->person_fn);
107-
}
108-
}
100+
109101
}
110102

111103
// Add user session information.
112-
if (isset($this->rollbar->person['session'])) {
113-
$this->rollbar->person['session'] = array_merge($session, $this->rollbar->person['session']);
114-
} else {
115-
$this->rollbar->person['session'] = $session;
116-
}
104+
$config = $this->logger->extend([]);
105+
$person = isset($config['person']) ? $config['person'] : [];
106+
107+
$person['session'] = isset($person['session']) ?
108+
array_merge($session, $person['session']) :
109+
$person['session'] = $session;
117110

118111
// User session id as user id if not set.
119-
if (! isset($this->rollbar->person['id'])) {
120-
$this->rollbar->person['id'] = $this->app->session->getId();
112+
if (! isset($person['id'])) {
113+
$person['id'] = $this->app->session->getId();
121114
}
115+
116+
$this->logger->configure(['person' => $person]);
122117
}
123118

124119
return $context;

src/RollbarServiceProvider.php

Lines changed: 16 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
<?php namespace Jenssegers\Rollbar;
1+
<?php namespace Rollbar\Laravel;
22

33
use Illuminate\Support\ServiceProvider;
44
use InvalidArgumentException;
5-
use Rollbar;
6-
use RollbarNotifier;
5+
use Rollbar\Rollbar;
6+
use Rollbar\Laravel\RollbarLogHandler;
77

88
class RollbarServiceProvider extends ServiceProvider
99
{
@@ -36,7 +36,7 @@ public function boot()
3636
$context = $args[2];
3737
}
3838

39-
$app['Jenssegers\Rollbar\RollbarLogHandler']->log($level, $message, $context);
39+
$app['Rollbar\Laravel\RollbarLogHandler']->log($level, $message, $context);
4040
});
4141
}
4242

@@ -52,46 +52,31 @@ public function register()
5252

5353
$app = $this->app;
5454

55-
$this->app->singleton('RollbarNotifier', function ($app) {
56-
// Default configuration.
55+
$this->app->singleton('Rollbar\RollbarLogger', function ($app) {
56+
5757
$defaults = [
5858
'environment' => $app->environment(),
5959
'root' => base_path(),
6060
];
61-
6261
$config = array_merge($defaults, $app['config']->get('services.rollbar', []));
63-
6462
$config['access_token'] = getenv('ROLLBAR_TOKEN') ?: $app['config']->get('services.rollbar.access_token');
65-
63+
6664
if (empty($config['access_token'])) {
6765
throw new InvalidArgumentException('Rollbar access token not configured');
6866
}
69-
70-
Rollbar::$instance = $rollbar = new RollbarNotifier($config);
71-
72-
return $rollbar;
67+
68+
\Rollbar\Rollbar::init($config);
69+
70+
return Rollbar::logger();
7371
});
7472

75-
$this->app->singleton('Jenssegers\Rollbar\RollbarLogHandler', function ($app) {
73+
$this->app->singleton('Rollbar\Laravel\RollbarLogHandler', function ($app) {
74+
7675
$level = getenv('ROLLBAR_LEVEL') ?: $app['config']->get('services.rollbar.level', 'debug');
7776

78-
return new RollbarLogHandler($app['RollbarNotifier'], $app, $level);
79-
});
80-
81-
// Register the fatal error handler.
82-
register_shutdown_function(function () use ($app) {
83-
if (isset($app['RollbarNotifier'])) {
84-
$app->make('RollbarNotifier');
85-
Rollbar::report_fatal_error();
86-
}
87-
});
88-
89-
// If the Rollbar client was resolved, then there is a possibility that there
90-
// are unsent error messages in the internal queue, so let's flush them.
91-
register_shutdown_function(function () use ($app) {
92-
if (isset($app['RollbarNotifier'])) {
93-
$app['RollbarNotifier']->flush();
94-
}
77+
return new RollbarLogHandler($app['Rollbar\RollbarLogger'], $app, $level);
78+
9579
});
80+
9681
}
9782
}

0 commit comments

Comments
 (0)