Add logger

This commit is contained in:
philipp lang 2020-07-05 10:56:43 +02:00
parent d22adb0e09
commit 1233de78e1
3 changed files with 43 additions and 15 deletions

0
Logger.php Normal file
View File

View File

@ -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'];

40
src/Logger.php Normal file
View File

@ -0,0 +1,40 @@
<?php
namespace Zoomyboy\LaravelNami;
use Log;
class Logger {
public $errors = [ 404, 403, 401, 500 ];
private $response;
private $title;
public $options;
private $url;
public static function http($url, $response, $title, $options) {
$logger = new static($url, $response, $title, $options);
return $logger->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;
}
}