<?php

declare(strict_types=1);

namespace App\Framework\Exception;

/**
 * Security-spezifische Log-Level nach OWASP-Standard
 */
enum SecurityLogLevel: string
{
    case DEBUG = 'DEBUG';
    case INFO = 'INFO';
    case WARN = 'WARN';
    case ERROR = 'ERROR';
    case FATAL = 'FATAL';

    /**
     * Numerischer Wert für Vergleiche
     */
    public function getNumericValue(): int
    {
        return match ($this) {
            self::DEBUG => 100,
            self::INFO => 200,
            self::WARN => 300,
            self::ERROR => 400,
            self::FATAL => 500,
        };
    }
}
