Skip to content

Commit

Permalink
Merge pull request rollbar#66 from DougSisk/laravel-5.4
Browse files Browse the repository at this point in the history
Laravel 5.4 support
  • Loading branch information
jenssegers committed Jan 25, 2017
2 parents be232a8 + 684cc26 commit d61d679
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 5 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -15,7 +15,7 @@ before_script:

script:
- mkdir -p build/logs
- phpunit --coverage-clover build/logs/clover.xml
- vendor/bin/phpunit --coverage-clover build/logs/clover.xml

after_success:
- sh -c 'if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then php vendor/bin/coveralls -v; fi;'
3 changes: 2 additions & 1 deletion composer.json
Expand Up @@ -18,7 +18,8 @@
"require-dev": {
"orchestra/testbench": "^3.0",
"mockery/mockery": "^0.9",
"satooshi/php-coveralls": "^1.0"
"satooshi/php-coveralls": "^1.0",
"phpunit/phpunit": "~4.0|~5.0"
},
"autoload": {
"psr-4": {
Expand Down
19 changes: 16 additions & 3 deletions src/RollbarServiceProvider.php
Expand Up @@ -22,7 +22,20 @@ public function boot()
$app = $this->app;

// Listen to log messages.
$app['log']->listen(function ($level, $message, $context) use ($app) {
$app['log']->listen(function () use ($app) {
$args = func_get_args();

// Laravel 5.4 returns a MessageLogged instance only
if (count($args) == 1) {
$level = $args[0]->level;
$message = $args[0]->message;
$context = $args[0]->context;
} else {
$level = $args[0];
$message = $args[1];
$context = $args[2];
}

$app['Jenssegers\Rollbar\RollbarLogHandler']->log($level, $message, $context);
});
}
Expand All @@ -39,7 +52,7 @@ public function register()

$app = $this->app;

$this->app['RollbarNotifier'] = $this->app->share(function ($app) {
$this->app->singleton('RollbarNotifier', function ($app) {
// Default configuration.
$defaults = [
'environment' => $app->environment(),
Expand All @@ -59,7 +72,7 @@ public function register()
return $rollbar;
});

$this->app['Jenssegers\Rollbar\RollbarLogHandler'] = $this->app->share(function ($app) {
$this->app->singleton('Jenssegers\Rollbar\RollbarLogHandler', function ($app) {
$level = getenv('ROLLBAR_LEVEL') ?: $app['config']->get('services.rollbar.level', 'debug');

return new RollbarLogHandler($app['RollbarNotifier'], $app, $level);
Expand Down

0 comments on commit d61d679

Please sign in to comment.