Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Spatie\LaravelIgnition\Recorders\LogRecorder;
4
 
5
use Illuminate\Log\Events\MessageLogged;
6
 
7
class LogMessage
8
{
9
    protected ?string $message;
10
 
11
    protected string $level;
12
 
13
    /** @var array<string, string> */
14
    protected array $context = [];
15
 
16
    protected ?float $microtime;
17
 
18
    /**
19
     * @param string|null $message
20
     * @param string $level
21
     * @param array<string, string> $context
22
     * @param float|null $microtime
23
     */
24
    public function __construct(
25
        ?string $message,
26
        string $level,
27
        array $context = [],
28
        ?float $microtime = null
29
    ) {
30
        $this->message = $message;
31
        $this->level = $level;
32
        $this->context = $context;
33
        $this->microtime = $microtime ?? microtime(true);
34
    }
35
 
36
    public static function fromMessageLoggedEvent(MessageLogged $event): self
37
    {
38
        return new self(
39
            $event->message,
40
            $event->level,
41
            $event->context
42
        );
43
    }
44
 
45
    /** @return array<string, mixed> */
46
    public function toArray(): array
47
    {
48
        return [
49
            'message' => $this->message,
50
            'level' => $this->level,
51
            'context' => $this->context,
52
            'microtime' => $this->microtime,
53
        ];
54
    }
55
}