ForHosting KIT · Utilidades de desarrollo

Ordenar niveles de registro por severidad y compararlos

Los niveles de registro son fáciles de reconocer, pero resulta sorprendentemente sencillo ordenarlos mal cuando el código de configuración, filtrado o alertas se construye de forma dinámica.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Esta capacidad aplica la progresión convencional de trace a fatal, ordena la lista que usted proporcione y compara dos niveles en la misma solicitud. Devuelve nombres normalizados en minúsculas, el orden de referencia completo y una relación explícita útil para scripts, pruebas, paneles y documentación. Los nombres desconocidos producen un error claro, sin conjeturas ni ubicaciones silenciosas en el resultado.

Utilice una única escala convencional de severidad

La capacidad utiliza el orden ascendente ampliamente reconocido trace, debug, info, warn, error, fatal. Trace representa los eventos de diagnóstico más detallados, mientras que fatal identifica fallos capaces de detener un proceso o dejarlo inutilizable. Envíe los niveles encontrados en el arreglo <code>levels</code>. El resultado incluye <code>sorted_levels</code>, desde el menos hasta el más grave, y <code>severity_order</code> como referencia completa. Los valores repetidos se conservan porque pueden corresponder a entradas reales de una configuración, muestra o informe. La ordenación es estable para valores iguales. Los nombres se recortan, se comparan sin distinguir mayúsculas y se devuelven en minúsculas canónicas. El vocabulario es deliberadamente limitado: notice, verbose, warning, critical o emergency se rechazan. Esos nombres pertenecen a otras convenciones y no pueden situarse en esta escala sin que usted defina una política. El rechazo explícito revela errores antes de que afecten al filtrado o a la respuesta ante incidentes.

Interprete el resultado de la comparación

Proporcione <code>first</code> y <code>second</code> para comparar dos niveles además de ordenar la lista. La respuesta normaliza ambos operandos e informa de una <code>relation</code> desde la perspectiva del primero. <code>more_severe</code> indica que el primer operando aparece después en el orden estándar; <code>less_severe</code>, que aparece antes; y <code>equal</code>, que ambos corresponden al mismo nivel. El valor con signo <code>rank_difference</code> expresa la distancia exacta: un número positivo favorece al primero, uno negativo al segundo y cero representa igualdad. Si son distintos, <code>more_severe</code> nombra directamente al ganador y evita repetir la comparación en el cliente. Si son iguales, ese campo se omite en lugar de devolver null. El formato funciona bien en aserciones y automatizaciones condicionales. Por ejemplo, comparar warn con error produce una diferencia negativa e identifica error como más grave. Comparar ERROR con error da igualdad tras normalizar, por lo que las diferencias de mayúsculas no debilitan la validación del vocabulario real.

Aplique la clasificación con seguridad en flujos de desarrollo

Clasificar la severidad resulta útil cuando una configuración textual debe convertirse en una decisión inequívoca. Un visor de registros puede ordenar filtros antes de mostrarlos. Un verificador de despliegue puede confirmar que el umbral de producción sea como mínimo warn. Un generador de documentación puede presentar niveles de manera coherente aunque el archivo de origen los enumere sin orden. Las pruebas de supervisión pueden comparar el umbral configurado con un mínimo requerido y detener una versión antes de producción. La función es determinista y no realiza solicitudes de red, por lo que una misma entrada siempre ofrece la misma salida en el navegador y mediante la API. Esta herramienta clasifica nombres: no analiza líneas de registro, no infiere niveles a partir del mensaje ni traduce entre esquemas incompatibles como syslog y etiquetas personalizadas. Si su sistema usa notice, critical, panic, off o números, conviértalos según su propia política documentada. Rechazar entradas desconocidas evita que una errata oculte accidentalmente eventos importantes.

Normalizar una configuración de registro

Ordene los niveles seleccionados según la convención y obtenga nombres coherentes en minúsculas.

Comprobar un umbral de alerta

Compare un nivel configurado con el mínimo exigido y use la relación explícita en una prueba de despliegue.

Crear documentación ordenada

Convierta una lista arbitraria de niveles compatibles en una progresión predecible para páginas de referencia.

¿Cuál es el orden de severidad?

De menor a mayor severidad: trace, debug, info, warn, error y fatal.

¿Se aceptan nombres en mayúsculas?

Sí. Se eliminan espacios laterales, se comparan sin distinguir mayúsculas y se devuelven en minúsculas canónicas.

¿Qué ocurre con los niveles duplicados?

Los duplicados se conservan. Las entradas iguales mantienen su orden relativo original.

¿Puedo usar warning o critical?

No. Solo se aceptan trace, debug, info, warn, error y fatal; otras convenciones requieren que usted defina una correspondencia explícita.

¿Cómo se interpreta rank_difference?

Es el rango del primer nivel menos el del segundo. Un valor positivo indica que el primero es más grave, uno negativo favorece al segundo y cero indica igualdad.

¿Cuánto cuesta una solicitud de API?

Cada solicitud de API cuesta $0.002. La misma capacidad determinista también puede ejecutarse gratis en el navegador.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/dev/log-level-severity-rank

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/dev/log-level-severity-rank \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"levels":["error","debug","fatal","info"],"first":"warn","second":"error"}'
{
  "levels": [
    "error",
    "debug",
    "fatal",
    "info"
  ],
  "first": "warn",
  "second": "error"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.log_level_severity_rank",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_items1000
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →