diff --git a/app/common/Controller/Logs.php b/app/common/Controller/Logs.php index 988615d..f6494bd 100644 --- a/app/common/Controller/Logs.php +++ b/app/common/Controller/Logs.php @@ -5,7 +5,7 @@ use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Slim\Views\Blade as View; use ProVM\Common\Service\Logs as Service; -use ProVM\Logview\Log; +use function Safe\json_encode; class Logs { @@ -13,16 +13,9 @@ class Logs { $log = $service->get($log_file); - $levels = []; - foreach (Log::LEVELS as $level) { - $levels[strtolower($level)] = (object) [ - 'text' => Log::COLORS[$level], - 'background' => Log::BACKGROUNDS[$level], - ]; - } - return $view->render($response, 'logs.show', compact('log', 'levels')); + return $view->render($response, 'logs.show', compact('log')); } - public function getMore(ServerRequestInterface $request, ResponseInterface $response, View $view, Service $service, string $log_file, int $start = 0, int $amount = 100): ResponseInterface + public function getMore(ServerRequestInterface $request, ResponseInterface $response, Service $service, string $log_file, int $start = 0, int $amount = 100): ResponseInterface { $log = $service->get($log_file); @@ -32,7 +25,7 @@ class Logs } $logs = array_reverse($logs); $total = $log->getTotal(); - $response->getBody()->write(\Safe\json_encode([ + $response->getBody()->write(json_encode([ 'total' => $total, 'logs' => $logs ])); diff --git a/app/common/Implement/Parser.php b/app/common/Implement/Parser.php index b7212ea..316f501 100644 --- a/app/common/Implement/Parser.php +++ b/app/common/Implement/Parser.php @@ -1,14 +1,18 @@ getFolder()); + $files = new FilesystemIterator($this->getFolder()); $output = []; foreach ($files as $file) { if ($file->isDir()) { @@ -61,7 +64,7 @@ class Logs Parsers\PHPDefault::class => '/(php_errors.log)/' ]; foreach ($map as $class => $regex) { - if (\Safe\preg_match($regex, $filename) === 1) { + if (preg_match($regex, $filename) === 1) { return new $class; } } diff --git a/app/resources/views/logs/show.blade.php b/app/resources/views/logs/show.blade.php index c886328..89a29ac 100644 --- a/app/resources/views/logs/show.blade.php +++ b/app/resources/views/logs/show.blade.php @@ -12,14 +12,52 @@ @push('page_styles') @endpush @push('page_scripts') diff --git a/app/src/Log.php b/app/src/Log.php index 5ea50f2..360a98d 100644 --- a/app/src/Log.php +++ b/app/src/Log.php @@ -3,8 +3,10 @@ namespace ProVM\Logview; use DateTimeInterface; use DateTimeImmutable; +use JsonSerializable; +use ProVM\Common\Define\Log as Definition; -class Log implements \ProVM\Common\Define\Log, \JsonSerializable +class Log implements Definition, JsonSerializable { public function __construct(?string $original = null) { @@ -110,15 +112,6 @@ class Log implements \ProVM\Common\Define\Log, \JsonSerializable return isset($this->context) and $this->context !== ''; } - public function getColor(): string - { - return self::COLORS[strtoupper($this->getSeverity())]; - } - public function getBackgroundColor(): string - { - return self::BACKGROUNDS[strtoupper($this->getSeverity())]; - } - public function jsonSerialize(): mixed { return ($this->parsed()) ? [ @@ -147,26 +140,4 @@ class Log implements \ProVM\Common\Define\Log, \JsonSerializable 'EMERGENCY', 'DEPRECATED', ]; - const COLORS = [ - 'DEBUG' => '#000', - 'INFO' => '#fff', - 'NOTICE' => '#fff', - 'WARNING' => '#000', - 'ERROR' => '#fff', - 'CRITICAL' => '#fff', - 'ALERT' => '#fff', - 'EMERGENCY' => '#fff', - 'DEPRECATED' => '#fff', - ]; - const BACKGROUNDS = [ - 'DEBUG' => '#fff', - 'INFO' => '#00f', - 'NOTICE' => '#55f', - 'WARNING' => '#dd5', - 'ERROR' => '#555', - 'CRITICAL' => '#f00', - 'ALERT' => '#f55', - 'EMERGENCY' => '#f55', - 'DEPRECATED' => '#f50', - ]; } diff --git a/app/src/Parser/Monolog.php b/app/src/Parser/Monolog.php index c35d2ca..460f209 100644 --- a/app/src/Parser/Monolog.php +++ b/app/src/Parser/Monolog.php @@ -1,7 +1,10 @@ \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6}(?:\+|-)\d{2}:\d{2})\]/"; - $fh = \Safe\fopen($filename, 'r'); + $fh = fopen($filename, 'r'); $sum = 0; while(!feof($fh)) { $line = fgets($fh); - $sum += \Safe\preg_match_all($regex, $line); + $sum += preg_match_all($regex, $line); } fclose($fh); return $sum; - } catch (\Exception $e) { - \Safe\error_log($e . PHP_EOL, 3, '/logs/total.log'); + } catch (Exception $e) { + error_log($e . PHP_EOL, 3, '/logs/total.log'); return 0; } } @@ -38,10 +41,10 @@ class Monolog extends Parser ]; $regex = implode('', $regex); try { - \Safe\preg_match("/{$regex}/", $content, $matches); - } catch (\Exception $e) { - \Safe\error_log($content . PHP_EOL, 3, '/logs/debug.log'); - \Safe\error_log($e . PHP_EOL, 3, '/logs/debug.log'); + preg_match("/{$regex}/", $content, $matches); + } catch (Exception $e) { + error_log($content . PHP_EOL, 3, '/logs/debug.log'); + error_log($e . PHP_EOL, 3, '/logs/debug.log'); return $log; } @@ -49,7 +52,7 @@ class Monolog extends Parser $extra = []; try { $log->setDate(DateTimeImmutable::createFromFormat('Y-m-d\TH:i:s.uP', $matches['date'])); - } catch (\Exception $e) { + } catch (Exception $e) { $log->setDate(new DateTimeImmutable()); $extra['date'] = $matches['date']; } @@ -72,11 +75,11 @@ class Monolog extends Parser $extra['extra'] = "{{$matches['extra']}}"; } if (count($extra) > 0) { - $log->setExtra(\Safe\json_encode($extra, JSON_UNESCAPED_SLASHES)); + $log->setExtra(json_encode($extra, JSON_UNESCAPED_SLASHES)); } - } catch (\Error $e) { - \Safe\error_log($e . PHP_EOL, 3, '/logs/debug.log'); - \Safe\error_log(var_export($matches, true) . PHP_EOL, 3, '/logs/debug.log'); + } catch (Error $e) { + error_log($e . PHP_EOL, 3, '/logs/debug.log'); + error_log(var_export($matches, true) . PHP_EOL, 3, '/logs/debug.log'); } return $log; diff --git a/app/src/Parser/PHPDefault.php b/app/src/Parser/PHPDefault.php index 5a763f5..bed3bc2 100644 --- a/app/src/Parser/PHPDefault.php +++ b/app/src/Parser/PHPDefault.php @@ -1,7 +1,10 @@ \d{2}-\w{3}-\d{4}\s\d{2}:\d{2}:\d{2}\s\w{3})\]/"; - $fh = \Safe\fopen($filename, 'r'); + $fh = fopen($filename, 'r'); $sum = 0; while(!feof($fh)) { $line = fgets($fh); - $sum += \Safe\preg_match_all($regex, $line); + $sum += preg_match_all($regex, $line); } fclose($fh); return $sum; - } catch (\Exception $e) { + } catch (Exception $e) { return 0; } } @@ -28,25 +31,25 @@ class PHPDefault extends Parser $log = parent::parse($content); $regex = "/\[(?\d{2}-\w{3}-\d{4}\s\d{2}:\d{2}:\d{2}\s\w{3})\]\s(?PHP|User)\s(?\w+):\s(?.*)/"; try { - \Safe\preg_match($regex, $content, $matches); - } catch (\Error $e) { - \Safe\error_log($e . PHP_EOL, 3, '/logs/debug.log'); + preg_match($regex, $content, $matches); + } catch (Error $e) { + error_log($e . PHP_EOL, 3, '/logs/debug.log'); return $log; } $extra = []; try { $log->setDate(DateTimeImmutable::createFromFormat('d-M-Y H:i:s e', $matches['date'])); - } catch (\Exception $e) { + } catch (Exception $e) { $log->setDate(new DateTimeImmutable()); $extra['date'] = $matches['date']; } $log->setChannel(''); $log->setSeverity($matches['severity']); $log->setMessage($matches['message']); - $log->setContext(\Safe\json_encode(['level' => $matches['level']], JSON_UNESCAPED_SLASHES)); + $log->setContext(json_encode(['level' => $matches['level']], JSON_UNESCAPED_SLASHES)); if (count($extra) > 0) { - $log->setExtra(\Safe\json_encode($extra, JSON_UNESCAPED_SLASHES)); + $log->setExtra(json_encode($extra, JSON_UNESCAPED_SLASHES)); } return $log;