mulog
debug-repl
mulog | debug-repl | |
---|---|---|
4 | 3 | |
471 | 99 | |
- | - | |
4.6 | 0.0 | |
about 1 month ago | over 3 years ago | |
Clojure | Clojure | |
Apache License 2.0 | Eclipse Public License 1.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mulog
-
Tracing: Structured Logging, but better in every way
There are logging libraries that include syntactically scoped timers, such as mulog (https://github.com/BrunoBonacci/mulog). While a great library, we preferred timbre (https://github.com/taoensso/timbre) and rolled our own logging timer macro that interoperates with it. More convenient to have such niceties in a Lisp of course.
- A History of Clojure (2020) [pdf]
- Logging verbosely into a ring buffer?
-
Debugging in Clojure
Assuming the crash doesn't cause the process to completely exit, you could indeed use `scope-capture` for this. This works well for local dev. In theory, you could use `sc.api/spy` in production code, and then attach a remote repl to diagnose any crashes. I wouldn't recommend this though, I think it would be best to use a good logging library like Mulog: https://github.com/BrunoBonacci/mulog
debug-repl
-
Debugging in Clojure
Cursive's debugger doesn't, but as one of the other posters mentioned there's a library called debug-repl which gives you this: https://github.com/gfredericks/debug-repl.
However, as I mentioned in the article, I've found it's usually better to use scope-capture than a debugger that pauses execution. The main reason is that I mainly work with Kafka Streams atm, and when the debugger pauses one thread other threads start timing out and throwing exceptions.
-
Let, try and other code blocks in the REPL
I think gary already did this with debug repl.
What are some alternatives?
timbre - Pure Clojure/Script logging library
scope-capture - Project your Clojure(Script) REPL into the same context as your code when it ran
re-frame-10x - A debugging dashboard for re-frame. X-ray vision as tooling.
spyscope - Trace-oriented debugging tools for Clojure
clj-otel - An idiomatic Clojure API for adding telemetry to your libraries and applications using OpenTelemetry.
lexikon - Reify, manipulate and replay the lexical environment in Clojure
cider - The Clojure Interactive Development Environment that Rocks for Emacs
Cider - A new cross-platform Apple Music experience based on Electron and Vue.js written from scratch with performance in mind. 🚀
re-frame-flow - Graph based visualization tool for re-frame event chains
clojure - The Clojure programming language