TrueAsync\LogSeverity

(PHP 8.6+, true_async_server 0.6+)

Enum de niveles de logging del servidor. Los valores de respaldo corresponden a OpenTelemetry Logs Data Model SeverityNumber (1..24); se exporta un subconjunto estable.

php
namespace TrueAsync;

enum LogSeverity: int
{
    case OFF   = 0;
    case DEBUG = 5;
    case INFO  = 9;
    case WARN  = 13;
    case ERROR = 17;
}
CaseValor OTelQué entra
OFF0nada
DEBUG5trazado, h3-packet-trace, etc.
INFO9ciclo de vida del servidor (start/stop), reintentos de bind
WARN13fallo de TLS handshake, peer reset, excepciones absorbidas
ERROR17fallo de bind de listener, errores duros de protocolo

TRACE y FATAL se omiten adrede. TRACE no se utiliza; FATAL viaja a través de zend_error_noreturn(E_ERROR), que ya aborta el proceso.

Uso

El logger está desactivado por defecto. Para activarlo hacen falta ambas cosas:

  1. Severity distinta de OFF.
  2. Stream-sink mediante HttpServerConfig::setLogStream().
php
use TrueAsync\HttpServerConfig;
use TrueAsync\LogSeverity;

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

La severity queda fijada al arrancar; no se admiten cambios en runtime (modelo single-threaded lock-free).

Qué se oye en cada nivel

php
// producción
$config->setLogSeverity(LogSeverity::WARN);

// staging / depuración de inestabilidad
$config->setLogSeverity(LogSeverity::INFO);

// debug profundo
$config->setLogSeverity(LogSeverity::DEBUG);

DEBUG incluye también un trazado detallado de los paquetes HTTP/3 y de otros flujos internos: útil para diagnóstico, pero añade overhead de CPU/IO.

Véase también