diff options
| author | Asko Nõmm <asko@nth.ee> | 2024-11-12 17:38:31 +0200 |
|---|---|---|
| committer | Asko Nõmm <asko@nth.ee> | 2024-11-12 17:38:31 +0200 |
| commit | adc0dfe77902fbcb57061c4b64370dcb0d854573 (patch) | |
| tree | 05fe86a23408c591c62ec6b9cb8eae160de8c13b /src | |
| parent | 7b68bf0c456fc44c067e1303f73752059df59aa0 (diff) | |
Add phpstan
Diffstat (limited to 'src')
| -rw-r--r-- | src/Format.php | 50 | ||||
| -rw-r--r-- | src/Loggr.php | 1 | ||||
| -rw-r--r-- | src/Message.php | 1 |
3 files changed, 41 insertions, 11 deletions
diff --git a/src/Format.php b/src/Format.php index 3909a7d..d6764f0 100644 --- a/src/Format.php +++ b/src/Format.php @@ -20,7 +20,7 @@ enum Format * @param Message $message The message to be serialized. * @return string The serialized message. */ - public function serialize(Message $message, ?DateTime $dateTime = new DateTime): string + public function serialize(Message $message, DateTime $dateTime = new DateTime): string { return match($this) { self::JSON => $this->serializeJson($message, $dateTime), @@ -38,15 +38,26 @@ enum Format */ private function serializeJson(Message $message, DateTime $dateTime): string { - return json_encode([ + /** @var string $trace_file */ + $trace_file = $message->trace['file']; + /** @var string $trace_line */ + $trace_line = $message->trace['line']; + + $json = json_encode([ 'date' => $dateTime->format('Y-m-d H:i:s'), 'level' => $message->level->value, 'context' => $message->context, 'trace' => [ - 'file' => pathinfo($message->trace['file'], PATHINFO_FILENAME), - 'line' => $message->trace['line'], + 'file' => pathinfo($trace_file, PATHINFO_FILENAME), + 'line' => $trace_line, ], ]); + + if ($json === false) { + return ''; + } + + return $json; } /** @@ -57,18 +68,23 @@ enum Format */ private function serializeLaravel(Message $message, DateTime $dateTime): string { + /** @var string $trace_file */ + $trace_file = $message->trace['file']; + // Date $date = $dateTime->format('Y-m-d H:i:s'); $line = "[$date] "; // File name and level - $filename = pathinfo($message->trace['file'], PATHINFO_FILENAME); + $filename = pathinfo($trace_file, PATHINFO_FILENAME); $line .= "{$filename}.{$message->level->value}: "; // Context if (is_array($message->context) || is_object($message->context)) { $line .= json_encode($message->context); - } else { + } + + if (is_string($message->context) || is_numeric($message->context)) { $line .= $message->context; } @@ -83,18 +99,23 @@ enum Format */ private function serializeSymfony(Message $message, DateTime $dateTime): string { + /** @var string $trace_file */ + $trace_file = $message->trace['file']; + // Date $date = $dateTime->format('Y-m-d\TH:i:s.uP'); $line = "[$date] "; // File name and level - $filename = pathinfo($message->trace['file'], PATHINFO_FILENAME); + $filename = pathinfo($trace_file, PATHINFO_FILENAME); $line .= "{$filename}.{$message->level->value}: "; // Context if (is_array($message->context) || is_object($message->context)) { $line .= json_encode($message->context); - } else { + } + + if (is_string($message->context) || is_numeric($message->context)) { $line .= $message->context; } @@ -109,24 +130,31 @@ enum Format */ private function serializeIntelliJ(Message $message, DateTime $dateTime): string { + /** @var string $trace_file */ + $trace_file = $message->trace['file']; + /** @var string $trace_line */ + $trace_line = $message->trace['line']; + // Date $date = $dateTime->format('Y-m-d H:i:s'); $line = "{$date} "; // Line number - $line .= "[{$message->trace['line']}] "; + $line .= "[{$trace_line}] "; // Level $line .= "{$message->level->value} "; // Filename - $filename = pathinfo($message->trace['file'], PATHINFO_FILENAME); + $filename = pathinfo($trace_file, PATHINFO_FILENAME); $line .= "- {$filename} - "; // Context if (is_array($message->context) || is_object($message->context)) { $line .= json_encode($message->context); - } else { + } + + if (is_string($message->context) || is_numeric($message->context)) { $line .= $message->context; } diff --git a/src/Loggr.php b/src/Loggr.php index a8af9e5..1d5a58d 100644 --- a/src/Loggr.php +++ b/src/Loggr.php @@ -13,6 +13,7 @@ namespace Asko\Loggr; */ class Loggr { + /** @var array<string, mixed> $trace */ private array $trace; /** diff --git a/src/Message.php b/src/Message.php index 4af49e7..972b01a 100644 --- a/src/Message.php +++ b/src/Message.php @@ -9,6 +9,7 @@ readonly class Message { public function __construct( public Level $level, + /** @var array<string, mixed> $trace */ public array $trace = [], public mixed $context = null, ) {} |
