<?php

declare(strict_types=1);

namespace App\Framework\Logging;

/**
 * Interface für Log-Processors, die Log-Einträge vor dem Handling verarbeiten.
 */
interface LogProcessor
{
    /**
     * Verarbeitet einen Log-Record und gibt den modifizierten Record zurück
     */
    public function processRecord(LogRecord $record): LogRecord;

    /**
     * Gibt die Priorität des Processors zurück (höhere Werte = frühere Ausführung)
     */
    public function getPriority(): int;

    /**
     * Gibt einen eindeutigen Namen für den Processor zurück
     */
    public function getName(): string;
}
