- Instala el paquete del SDK para tu runtime.
- Guarda la clave de ingesta del proyecto fuera del control de versiones.
- Define valores estables de servicio, entorno y release.
- Envía un evento de prueba seguro desde la aplicación.
- Lee el resultado de la entrega. Después, busca el evento en LogBrew.
Señales y contexto compartido
Las cinco primeras tarjetas son señales. El release y el entorno son el contexto de esas señales. No son un tipo de evento aparte.log
Un mensaje estructurado con severidad, origen, hora y contexto seguro.
trace_span
Una operación medida en el tiempo, vinculada a su traza mediante los ID de
traza y de span.
issue
Un fallo capturado, su severidad y los detalles del error que envió la app.
action
Una acción en tu app, con sujeto, sesión y propiedades seguras opcionales.
metric
Una medida numérica con nombre, tipo, valor, unidad y temporalidad.
release y entorno
La versión del código y el entorno que se adjuntan a los eventos
posteriores del mismo ámbito del SDK.
Valores de severidad
Usainfo, warning, error o critical en logs e incidencias. Los SDK y
los runtimes pueden enviar alias como trace, debug, warn o fatal.
LogBrew normaliza los alias aceptados a los valores canónicos.
Instalación con gestores de paquetes
Instala el paquete del SDK para el runtime que envía la telemetría. Usa la configuración de SDK o de ingesta del proyecto que te da LogBrew. No uses los datos de inicio de sesión de la cuenta como configuración del SDK.Trazado de solicitudes en Node.js
Para correlacionar trazas desde la raíz de la solicitud, usa@logbrew/sdk
0.1.16 o posterior y @logbrew/node 0.1.11 o posterior.
Express necesita @logbrew/express 0.1.5 o posterior. Fastify y NestJS
necesitan su paquete de LogBrew en la versión 0.1.6 o posterior.
Estas integraciones crean o continúan un span por solicitud. El nombre del span
usa la plantilla de ruta que coincide. Los logs, incidencias, acciones y
métricas dentro de la solicitud heredan su contexto de traza y de span. Un
paquete más nuevo no añade contexto a los eventos enviados antes de
actualizarlo.
La integración de solicitudes predeterminada no captura los cuerpos de
solicitud ni de respuesta, las cadenas de consulta, cabeceras arbitrarias ni
los valores traceparent sin procesar.
ASP.NET Core
La CLI v0.1.55 o posterior detecta los proyectos de .NET 10 que usanMicrosoft.NET.Sdk.Web. Previsualiza el plan de configuración desde la raíz
del proyecto. Este comando no cambia tus archivos:
LOGBREW_SERVER_API_KEY, LOGBREW_SERVICE_NAME,
LOGBREW_ENVIRONMENT y LOGBREW_RELEASE fuera del control de versiones.
Registra LogBrew en el host y coloca su middleware después del enrutamiento:
LOGBREW_SERVER_API_KEY, las dos llamadas de registro no hacen nada y son
seguras. El
paquete NuGet de ASP.NET Core
identifica la integración con el host publicada. Su guía pública del paquete
cubre el ciclo de vida del host, la captura de solicitudes, la captura de
incidencias, los límites de privacidad y la recuperación.
Java con Maven o Gradle
La CLI v0.1.54 o posterior detectapom.xml, build.gradle y
build.gradle.kts. Previsualiza el plan de configuración desde la raíz del
proyecto. Este comando no cambia tus archivos:
LogBrewClient
propio de la app. Este activa las integraciones opcionales de solicitudes,
excepciones, cliente HTTP, JDBC y caché.
La captura de Spring Kafka se activa solo de forma explícita con
logbrew.kafka.enabled=true. Usa la dependencia de Spring Kafka y el bean de
cliente que ya tiene la aplicación.
El artefacto del SDK de Java en Maven Central
identifica el paquete publicado. Su guía pública cubre la entrega HTTP con
límites, el cierre, el registro de logs, la configuración de Spring, la
correlación con Kafka y los límites de privacidad.
C++ con CMake
El SDK de C++ necesita C++17 y CMake 3.16 o posterior. La CLI v0.1.39 o posterior detecta unCMakeLists.txt en la raíz. Ejecuta
logbrew setup --json para previsualizar este plan de configuración sin
cambiar tus archivos:
FetchContent_MakeAvailable
y el enlace del target anteriores por:
logbrew-cpp-0.2.3.tar.gz del
release C++ 0.2.3.
El paquete extraído admite cmake --install y
find_package(LogBrew 0.2.3 CONFIG REQUIRED). Su guía del paquete cubre el
contexto tipado, la evidencia de incidencias, los eventos de span, las
métricas, las acciones y la entrega HTTP.
Mapas de origen de JavaScript
Para compilaciones con Vite, sigue Mapas de origen de JavaScript. Cubre el plugin, la clave de artefactos, las comprobaciones de la carga y una incidencia nueva con ubicaciones del código fuente original.Apple, Flask y React Native
Usa el producto SwiftLogBrew para la telemetría. Añade LogBrewCrash solo
para capturar fallos o bloqueos en Apple. Sigue
Fallos y bloqueos de Apple para
subir los dSYM y usar la simbolización alojada.
Para Flask, sigue la guía Flask.
Para React Native y Expo, sigue React Native. Cubre
la clave del proyecto, un log de prueba seguro, los errores de entrega y la
configuración de Metro en Expo para los mapas de origen de producción.
Trazado de colas en JavaScript
Las integraciones de colas para Node son paquetes npm aparte. Instala los paquetes base de JavaScript de LogBrew, el paquete de la integración y el cliente de colas o de broker que ya usa tu app.
Usa estos paquetes para correlacionar trazas de forma explícita, controlada
por tu app, en torno a las llamadas a colas que elijas. LogBrew no gestiona la
conexión con tu broker, no crea colas y, de forma predeterminada, no modifica
globalmente todos los clientes.
Sobre nativo directo
UsaPOST /api/telemetry/ingest solo para un cliente propio que ningún SDK
público de LogBrew admita. Los SDK públicos usan su propio formato de lotes.
Este endpoint no acepta ese formato.
Envía de 1 a 512 elementos en un sobre nativo. Todos los elementos de un sobre
comparten el proyecto, el servicio, el release, el entorno y el contexto de la
traza opcional.
Campos de los elementos
Cada elemento tiene untype y un objeto data. Un elemento de log usa
level. Un elemento de incidencia usa severity. Ambos aceptan los valores
de Valores de severidad.
Envía un
id con cada elemento cuando tu cliente pueda reintentar. Cuando un
reintento vuelve a enviar un elemento aceptado con el mismo id y el mismo
contenido, LogBrew no lo guarda otra vez. La respuesta cuenta ese elemento en
already_accepted.
Ejemplo de solicitud
Guarda el JSON siguiente comotelemetry-envelope.json. Sustituye el ID de
proyecto de ejemplo por el ID exacto del proyecto de tu clave de ingesta.
Pon en las marcas de tiempo la hora UTC actual del evento de prueba. Usa tus
propios valores de servicio y release.
telemetry-envelope.json
LOGBREW_INGEST_BEARER desde tu
configuración protegida. No lo imprimas ni uses una credencial de la cuenta.
El siguiente comando envía el archivo una vez. Necesita curl 7.76.0 o
posterior:
--fail-with-body conserva el cuerpo del
error y devuelve un código de salida distinto de cero en los errores HTTP. Un
fallo de red o un tiempo de espera agotado no te dice si LogBrew aceptó la
solicitud. Vuelve a enviar el mismo archivo solo cuando sus elementos tengan
valores id. Sin valores id, un segundo envío puede guardar los elementos
dos veces.
Respuesta
Una solicitud correcta devuelve200 con el número de elementos nuevos por
flujo. already_accepted cuenta los elementos que ya entregó una solicitud
anterior.
Errores
Una clave de ingesta no válida o revocada devuelve401. Una clave de otro
proyecto también devuelve 401:
422 con el código
validation_failed. El campo error nombra la regla. El campo next te
indica cómo corregir la solicitud. Por ejemplo, "items": [] devuelve:
422 con el error
native telemetry envelope exceeds the item limit. Divídelo en lotes de 512
elementos o menos. Mantén el proyecto y el contexto compartido en cada lote.
Para los límites de uso, los límites de solicitudes y los fallos del servicio,
sigue el code devuelto en Errores de la API.
