A log dashboard tool powered by Clerk and Lucene, via lucene-clj.
Video demo from reClojure 2022
A proof-of-concept ALPHA
start a repl via something like
clj -Adev -Sdeps '{:deps {cider/cider-nrepl {:mvn/version "0.29.0"} }}' -m nrepl.cmdline --middleware "[cider.nrepl/cider-middleware]"
open src/nextjournal/lurk.clj
, run (nextjournal.clerk/show!)
, and navigate to http://localhost:6677/
this will create an in-memory lucene index over the contents of example_service/json-logs/example-service.log
and display a dashboard. Any new addtions to that example-service.log
will get indexed and shown.
In the example_service
directory there is a simple service that loops forever and generates json-formatted logs. To start this process:
cd example_service
clj -Xrun
This begins writing json logs to example_service/json-logs/example-service.log
Querying can be done using lucene-clj query language
{:level "WARN"}
or
{:level "WARN" :message #{"abulafia" "Belbo"}}