TrueAsync\LogSeverity

(PHP 8.6+, true_async_server 0.6+)

Enum der Logging-Level des Servers. Die Backing-Werte entsprechen OpenTelemetry Logs Data Model SeverityNumber (1..24); exportiert wird eine stabile Teilmenge.

php
namespace TrueAsync;

enum LogSeverity: int
{
    case OFF   = 0;
    case DEBUG = 5;
    case INFO  = 9;
    case WARN  = 13;
    case ERROR = 17;
}
CaseOTel-WertWas geloggt wird
OFF0nichts
DEBUG5Tracing, H3-Packet-Trace u. a.
INFO9Server-Lifecycle (start/stop), Bind-Retries
WARN13TLS-Handshake-Fehler, Peer-Reset, absorbierte Exceptions
ERROR17Listener-Bind-Failures, harte Protokollfehler

TRACE und FATAL fehlen bewusst. TRACE wird nicht verwendet; FATAL wird über zend_error_noreturn(E_ERROR) ausgeliefert, was den Prozess ohnehin beendet.

Verwendung

Der Logger ist standardmäßig deaktiviert. Zur Aktivierung müssen beide gesetzt sein:

  1. Severity ungleich OFF.
  2. Sink-Stream über HttpServerConfig::setLogStream().
php
use TrueAsync\HttpServerConfig;
use TrueAsync\LogSeverity;

$config
    ->setLogSeverity(LogSeverity::INFO)
    ->setLogStream(STDERR);

Die Severity wird beim Start festgeschrieben — Laufzeit-Änderungen sind nicht möglich (Single-Threaded Lock-Free-Modell).

Was auf jeder Stufe sichtbar wird

php
// production
$config->setLogSeverity(LogSeverity::WARN);

// staging / debug von Instabilitäten
$config->setLogSeverity(LogSeverity::INFO);

// tiefer Debug
$config->setLogSeverity(LogSeverity::DEBUG);

DEBUG aktiviert unter anderem detailliertes Tracing von HTTP/3-Paketen und weiteren internen Flows — nützlich für die Diagnose, fügt aber CPU/IO-Overhead hinzu.

Siehe auch