Logs are not structured, so nothing can be queried

Cerrado
#278 6 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 4 días

@jamal-exe ya está trabajando en esto.

Desde el 16/10/2026.

  • #397 de @jamal-exe — abierto
  • #481 de @sparkysolutions10-pixel — cerrado sin fusionar

Evaluación

Este issue todavía no se ha evaluado.

Descripción

area:infra difficulty:easy epic:observability help wanted points:100 Stellar Wave
Background

The service logs through pino, which emits JSON, but the messages themselves are prose with values interpolated into sentences. Finding every failure for one pair means a substring search, and counting them is impossible.

What to build
  • Values as fields, not inside the sentence: route, pair, network, venue, status, duration, request id.
  • One logging helper so a new call site cannot invent its own shape.
  • Keep the human-readable message; move the data out of it.
Acceptance criteria
  • Log lines carry values as fields
  • One helper is used by every call site touched
  • A documented query answers "every failure for this pair in the last hour"
  • No value appears only inside a prose message

Drips Wave · Complexity: Easy · 100 points


Repo: Divinity-Labs/Lens. Node + Fastify + Prisma + Postgres. Tests are vitest (npm test), not jest — jest against this repo fails every file and tells you nothing.

The spec is enforced. tests/openapi.test.ts boots the server and fails if a registered route is missing from openapi.yaml. Operator-only and non-HTTP routes are excluded through the commented allow-list in src/openapi/coverage.ts. A new route or a changed response means the spec changes in the same PR.

?network= is validated on every request and an unrecognised value is a 400. Routes that answer per network declare the parameter in the spec; the ones that do not are listed in the README. If the two ever disagree, the spec is the thing to fix.

Never elide a contract id or an issuer. Take addresses from the protocol's own documentation and write them whole. A sibling repo's issue wrote CD2W5LUR…XZ4L and five contributors invented plausible contract ids to fill the gap.

Change one thing. These are scoped so they land independently. A PR that also reformats a file it did not need to touch is a PR nobody can review against its issue.


Required: Before submitting, join the contributor Telegram so your work can be tracked and counted toward the Stellar Wave: https://t.me/+fxHXq8f1SwlkZDBk

Lenguaje dominante
TypeScript
Estrellas
4
Forks
71
Merge medio
3 d 22 h
PR fusionados (30 d)
142

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Divinity-Labs/Lens

Todos los issues de Divinity-Labs/Lens

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.