3 Commits

2 changed files with 12 additions and 4 deletions

View File

@@ -41,9 +41,10 @@ class LogDbClient
case 'http':
$url = $this->server . "/api/logdb/v1/create-event";
if (!str_starts_with($url, "http")) $url = "http://{$url}";
$this->sendHttp(json_encode($event), $url);
$this->sendHttp(json_encode($events), $url);
break;
case 'udp':
// TODO set batch id, the server is unaware that this is a batch.
foreach ($events as $event) {
if ($event instanceof LogEvent) {
[$ip,$port] = explode(":", $this->server, 2);

View File

@@ -2,6 +2,7 @@
namespace LogDb\Client;
use DateTimeInterface;
use JsonSerializable;
class LogEvent implements JsonSerializable
@@ -14,21 +15,27 @@ class LogEvent implements JsonSerializable
public readonly ?string $source = null,
public readonly ?string $origin = null,
public readonly array $context = [],
public readonly ?DateTime $date = null,
public readonly ?DateTimeInterface $date = null,
)
{
}
public function jsonSerialize(): mixed
{
$context = $this->context;
$scope = $this->scope;
if (isset($context['_scope'])) {
$scope = $context['_scope'];
unset($context['_scope']);
}
return [
'brief' => $this->brief,
'detail' => $this->detail,
'level' => $this->level,
'scope' => $this->scope,
'scope' => $scope,
'source' => $this->source,
'origin' => $this->origin,
'context' => $this->context,
'context' => $context,
'date' => $this->date?->format('Y-m-d H:i:s P'),
];
}