Logdive: L'alternativa open source a jq per a logs
Logdive ofereix una solució local i eficient per consultar logs estructurats, omplint el buit entre les eines de línia de comandaments i les plataformes complexes.

Logdive: Un salt endavant en la consulta de logs per a desenvolupadors
En el vertiginós món de la programació i el desenvolupament de programari, depurar aplicacions en producció pot convertir-se en un malson. Quan alguna cosa falla a altes hores de la matinada, les opcions solen ser limitades i poc eficients: des de grep en arxius de log rotats fins a complexes cadenes de comandaments jq que es tornen inmanejables. Les solucions més robustes, com Loki o Elastic, sovint impliquen una sobrecàrrega d'infraestructura i configuració que no sempre és desitjable, especialment per a projectes petits o investigacions personals.
És en aquest escenari on emergeix logdive, una nova eina open source que busca democratitzar l'accés i la consulta de logs estructurats de forma local i eficient. Nascut de la frustració de necessitar una versió de jq amb memòria, rangs de temps i filtres avançats, logdive es presenta com una solució pragmàtica i poderosa.
El problema: Eines de logs, entre la simplicitat i la complexitat
Els enginyers de backend sovint s'enfronten a logs JSON ben estructurats, però les eines disponibles operen en extrems oposats. D'una banda, jq és excel·lent per a arxius individuals i consultes puntuals, però manca de memòria, rangs temporals o la capacitat de filtrar a través de múltiples arxius. D'altra banda, plataformes com Datadog, Splunk o Elastic exigeixen una inversió considerable en infraestructura, costos i configuració, la qual cosa és un overkill per a molts escenaris.
Logdive es posiciona precisament en aquest nínxol, oferint un binari únic escrit en Rust que, un cop instal·lat (cargo install logdive), permet indexar i consultar logs directament a la teva màquina local. Sense dimonis (daemons) que gestionar, sense dependències al núvol i sense arxius de configuració YAML.
Logdive en acció: Ingesta i consulta eficients
L'operació de logdive és sorprenentment senzilla:
Ingesta de logs: Pots alimentar logdive des d'un arxiu de log o mitjançant un pipe des de la sortida d'altres comandaments, com
docker logs.logdive ingest --file ./logs/app.log docker logs my-container | logdive ingest --tag my-containerConsultes potents: El llenguatge de consulta permet filtres per camps específics, rangs de temps i l'ús de l'operador
CONTAINS. Els camps coneguts (timestamp,level,message,tag) es beneficien d'índexs directes en SQLite, mentre que els camps arbitraris es consulten a través dejson_extract().logdive query 'level=error AND service=payments last 2h' logdive query 'message contains "timeout"' --format json | jqEstadístiques i API: L'eina també ofereix
logdive statsper inspeccionar les dades indexades i, opcionalment, exposa una API HTTP de només lectura (logdive-api) per a consultes remotes.
Disseny i rendiment: El poder de Rust i SQLite
L'elecció de Rust per al desenvolupament de logdive no és casual. Permet crear un binari autocontingut, sense runtime extern, amb anàlisi zero-copy, integració directa de SQLite i concurrència real per a la ingesta. El resultat són binaris sorprenentment petits (al voltant de 3.7 MB per a logdive) i un rendiment notable.
Les mètriques de rendiment són impressionants:
- Ingesta: fins a ~210k línies/segon.
- Consultes en camps coneguts: latències de ~17 μs.
- Consultes en camps JSON: fins a ~3.6 ms.
Logdive està dissenyat per ser petit en abast, però prou expressiu com per ser útil. La versió 0.1.0 se centra en les necessitats essencials d'un side project o un equip petit.
A qui va dirigit (i a qui no)
Logdive és ideal per a:
- Enginyers de backend que depuren incidents de producció amb còpies locals de logs.
- Equips petits sense pressupost dedicat per a observabilitat.
- Desenvolupadors que utilitzen Docker localment i desitgen consultar
docker logsde forma instantània. - Pipelines de CI que necessiten filtrar sortides estructurades.
Tanmateix, no és una solució per a índexs en múltiples màquines, log tailing en temps real, o volums de logs a escala empresarial massiva. Tampoc suporta formats de log que no siguin JSON en la seva versió actual.
Un ecosistema en creixement
Logdive és un projecte open source que convida a la contribució. Funciona com un espai de treball de tres crates: logdive-core (la lògica principal), logdive (la CLI) i logdive-api (el servidor HTTP). Les futures versions (v2) planegen incloure l'operador OR, suport per a formats de log com plaintext i logfmt, un mode follow, i fins i tot una interfície gràfica d'usuari (GUI) basada en navegador.
En un panorama on les solucions d'observabilitat poden ser aclaparadores, logdive ofereix una alternativa lleugera, ràpida i accessible. És una eina que, inspirada en la potència de jq però superant les seves limitacions, demostra el valor de les solucions open source ben dissenyades i escrites en llenguatges com Rust, que poden competir fins i tot amb les solucions comercials més complexes en nínxols específics. Si ets un desenvolupador que valora la simplicitat i l'eficiència local, logdive mereix la teva atenció, igual que altres eines prometedores en l'espai open source com Utilyze, que busca aportar precisió en el mesurament de GPUs.
Fonts:
- Dev.to: I wanted jq with memory, time ranges, and filters. So I built logdive
- Repositori GitHub: Aryagorjipour/logdive
Articles relacionats
11 de julio de 2026
Controla els teus costos de programació IA: L'auge de la monitorització
Descobreix com tokscale i git-lrc estan transformant l'eficiència i el control de costos en el desenvolupament de programari assistit per IA.
11 de julio de 2026
Control Your AI Programming Costs: The Rise of Monitoring
Discover how tokscale and git-lrc are transforming efficiency and cost control in AI-assisted software development.
11 de julio de 2026
Controla tus costes de programación IA: El auge de la monitorización
Descubre cómo tokscale y git-lrc están transformando la eficiencia y el control de costes en el desarrollo de software asistido por IA.
10 de julio de 2026
Arquitectura de sincronització: Kotlin, Jetpack Compose i Spring Boot
Aprèn a construir un pipeline de comunicació robust entre el teu backend en Spring Boot i un client Android amb Kotlin per evitar inconsistències de dades.
Carregant comentaris...