Skip to content

Configuración de Tracing ​

Sword puede configurar un subscriber global de tracing para capturar trazas en toda la aplicación. Se configura desde la sección [tracing] del archivo TOML. Este subscriber se inicializa automáticamente durante la construcción de la aplicación.

Campos soportados en la configuración ​

KeyTipoDefaultDescripción
enabledbooltrueHabilita o deshabilita la inicialización global del subscriber
use-env-filterbooltrueIntenta leer directivas desde RUST_LOG antes de usar filter
filterString"info"Filtro por defecto usado cuando no existe RUST_LOG o está deshabilitado
formatfull | pretty | compact | dev | jsonfullFormato de salida del subscriber
time-stylesystem | uptime | local | utc | nonesystemFuente y estilo del timestamp
time-patternString?NonePatrón strftime usado por local y utc
with-fieldstarget[] | file[] | line-number[] | thread-id[] | thread-name[]["target"]Lista de metadata opcional a incluir en cada evento

Ejemplo de configuración ​

toml
[tracing]
enabled = true
use-env-filter = true
filter = "info,sword=info,sqlx=warn"

format = "dev"
time-style = "utc"
time-pattern = "%H:%M:%S"

with-fields = []

Formato de salida ​

El formato se elige con la clave format.

Formato full ​

Usa el formatter estándar de tracing-subscriber. Es el formato por defecto y prioriza exponer más metadata.

Formato pretty ​

Usa el formatter multilínea legible de tracing-subscriber.

Es útil en desarrollo cuando quieres ver bloques más claros por evento, pero ocupa más espacio vertical.

Formato compact ​

Usa una variante más densa en una sola línea, cercana al estilo clásico de tracing-subscriber.

Formato dev ​

Formato propio de Sword orientado a desarrollo en consola.

Ejemplo:

text
INFO  Initialized tracing subscriber
      format: Dev
      filter: info,sword=info
      use_env_filter: true

Formato json ​

Usa el formatter JSON nativo de tracing-subscriber con los fields del evento aplanados al nivel raíz.

Es una buena base para agregación de logs y pipelines simples de observabilidad.

Configuración del tiempo ​

El timestamp se controla con dos claves: time-style (fuente del tiempo) y time-pattern (patrón de formato).

Estilo de tiempo ​

Valores que acepta time-style:

ValorDescripción
systemFormatter de tiempo por defecto de tracing-subscriber
uptimeTiempo transcurrido desde la inicialización del subscriber
localFecha/hora local usando un patrón strftime
utcFecha/hora UTC usando un patrón strftime
noneNo imprime timestamps

Patrón de tiempo ​

time-pattern solo se aplica a local y utc. Sword usa sintaxis strftime, igual que chrono; algunos ejemplos:

PatrónResultado aproximado
"%H:%M:%S"14:32:11
"%Y-%m-%d %H:%M:%S"2026-04-02 14:32:11(Default local)
"%Y-%m-%dT%H:%M:%S"2026-04-02T14:32:11
"%Y-%m-%dT%H:%M:%SZ"2026-04-02T17:32:11Z(Default utc)

Filtros de eventos ​

Sword combina dos fuentes de filtrado: RUST_LOG (directivas de entorno) y filter (filtro del TOML).

Con use-env-filter = true, Sword intenta leer RUST_LOG y usa filter solo cuando no existe o no puede interpretarse. Con use-env-filter = false, Sword usa siempre filter.