Skip to content

Commit 2644309

Browse files
committed
Merge pull request #5 from understand/catch-all-handler-exceptions
catch all handler exceptions
2 parents 8825ed5 + 2fbbe81 commit 2644309

File tree

2 files changed

+26
-5
lines changed

2 files changed

+26
-5
lines changed

src/Understand/UnderstandLaravel/Logger.php

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,23 @@ class Logger
2222
*/
2323
protected $handler;
2424

25+
/**
26+
* Specifies whether logger should throw an exception of issues detected
27+
*
28+
* @var bool
29+
*/
30+
protected $silent = true;
31+
2532
/**
2633
* @param \Understand\UnderstandLaravel\FieldProvider $fieldProvider
2734
* @param \Understand\UnderstandLaravel\Handlers\BaseHandler $handler
35+
* @param bool $silent
2836
*/
29-
public function __construct(FieldProvider $fieldProvider, BaseHandler $handler)
37+
public function __construct(FieldProvider $fieldProvider, BaseHandler $handler, $silent = true)
3038
{
3139
$this->setFieldProvider($fieldProvider);
3240
$this->setHandler($handler);
41+
$this->silent = $silent;
3342
}
3443

3544
/**
@@ -110,12 +119,23 @@ public function setFieldProvider(FieldProvider $fieldProvider)
110119
/**
111120
* Send data to storage
112121
*
113-
* @param string $requestData
122+
* @param array $requestData
114123
* @return mixed
115124
*/
116125
protected function send(array $event)
117126
{
118-
return $this->handler->handle($event);
119-
}
127+
try
128+
{
129+
return $this->handler->handle($event);
130+
}
131+
catch (\Exception $ex)
132+
{
133+
if (! $this->silent)
134+
{
135+
throw new $ex;
136+
}
120137

138+
return false;
139+
}
140+
}
121141
}

src/Understand/UnderstandLaravel/UnderstandLaravelServiceProvider.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,9 @@ protected function registerLogger()
118118
{
119119
$fieldProvider = $app['understand.field-provider'];
120120
$handler = $this->resolveHandler($app);
121+
$silent = $app['config']->get('understand-laravel::config.silent');
121122

122-
return new Logger($fieldProvider, $handler);
123+
return new Logger($fieldProvider, $handler, $silent);
123124
});
124125

125126
$this->app->booting(function()

0 commit comments

Comments
 (0)