debug-repl
A Clojure debug repl as nrepl middleware (by gfredericks)
mulog
μ/log is a micro-logging library that logs events and data, not words! (by BrunoBonacci)
debug-repl | mulog | |
---|---|---|
3 | 4 | |
99 | 470 | |
- | - | |
0.0 | 4.6 | |
over 3 years ago | 24 days ago | |
Clojure | Clojure | |
Eclipse Public License 1.0 | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
debug-repl
Posts with mentions or reviews of debug-repl.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-07-06.
-
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.
mulog
Posts with mentions or reviews of mulog.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-09-20.
-
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
What are some alternatives?
When comparing debug-repl and mulog you can also consider the following projects:
scope-capture - Project your Clojure(Script) REPL into the same context as your code when it ran
timbre - Pure Clojure/Script logging library