diff --git a/Logger.php b/Logger.php new file mode 100644 index 0000000..e69de29 diff --git a/src/Api.php b/src/Api.php index 856ef0d..584a187 100644 --- a/src/Api.php +++ b/src/Api.php @@ -74,11 +74,7 @@ class Api { $r = $this->http()->get($url); - if ($r->status() == 200) { - Log::debug('Member Request '.$memberId, [ 'url' => $url, 'response' => $r->body(), 'json' => $r->json(), 'memberId' => $memberId ]); - } else { - Log::error('Member Request '.$memberId, [ 'url' => $url, 'response' => $r->body(), 'json' => $r->json(), 'memberId' => $memberId ]); - } + Logger::http($url, $r, 'Memberships from '.$memberId, ['memberId' => $memberId]); if (!isset($r->json()['data'])) { return collect([]); @@ -97,11 +93,7 @@ class Api { $url = self::$url.'/ica/rest/nami/zugeordnete-taetigkeiten/filtered-for-navigation/gruppierung-mitglied/mitglied/'.$memberId.'/'.$membershipId; $response = $this->http()->get($url); - Log::debug('Membership Request '.$memberId.' - '.$membershipId, [ - 'url' => $url, - 'response' => $response->body(), - 'json' => $response->json() - ]); + Logger::http($url, $response, 'Single Membership '.$membershipId.' from '.$memberId, ['memberId' => $memberId]); return $response->json()['data']; } @@ -110,11 +102,7 @@ class Api { $url = self::$url.'/ica/rest/nami/mitglied/filtered-for-navigation/gruppierung/gruppierung/'.$groupId.'/'.$memberId; $response = $this->http()->get($url); - if ($response->status() == 200) { - Log::debug('Member Request '.$memberId, [ 'url' => $url, 'response' => $response->body(), 'json' => $response->json(), 'memberId' => $memberId ]); - } else { - Log::error('Member Request '.$memberId, [ 'url' => $url, 'response' => $response->body(), 'json' => $response->json(), 'memberId' => $memberId ]); - } + Logger::http($url, $response, 'Show member '.$memberId, ['memberId' => $memberId]); if ($response->json()['success'] === true) { return $response->json()['data']; diff --git a/src/Logger.php b/src/Logger.php new file mode 100644 index 0000000..855cfd8 --- /dev/null +++ b/src/Logger.php @@ -0,0 +1,40 @@ +fromHttp(); + } + + public function __construct($url, $response, $title, $options) { + $this->url = $url; + $this->response = $response; + $this->title = $title; + $this->options = $options; + } + + public function fromHttp() { + if (is_null($level = $this->level())) { return $this; } + Log::{$level}($this->title, array_merge([ + 'url' => $this->url, + 'response' => $this->response->body(), + 'json' => $this->response->json() + ], $this->options)); + } + + public function level() { + return in_array($this->response->status(), $this->errors) || $this->response['success'] == false + ? 'error' + : null; + } +}