reveal

dawdler 2021-10-01T19:51:46.052500Z

anyone using reveal with timbre under leiningen? Struggling to keep my reveal setup separate from the projects I work on, and would like to merge timbre reveal appender with the log config in the leiningen project context, but struggle a bit to make sense of the info google provides... perhaps #leiningen is more suitable, but thought I'd check with you guys. This is with emacs+cider.

vlaaad 2021-10-02T21:08:30.052600Z

You probably want a leiningen profile that adds some source paths with your code that installs the appender?

dawdler 2021-10-02T21:27:45.057400Z

Trying to keep it “local” in ~/.lein/profiles.clj, which adds the reveal appender to timbre. And it works via tap, but barfs on something that looks like a Thread issue. I am "injecting" the appender via timbre merge-config! to a logger written with stuart sierra’s component. The result is that the output "hangs", when jetty spits out all the stuff it does. Blacklisting jetty namespace via timbre is not observed in reveal window, Which is strange.

dawdler 2021-10-02T21:30:52.057600Z

The error is a java.lang.InterruptedException. Might not be reveal specific, this whole thing, but if I include the reveal appender in the component itself, everything works as expected.

vlaaad 2021-10-03T07:04:33.057800Z

Can you share a stack trace? If there is an issue with Reveal, maybe it'll help to figure out what goes wrong there..

dawdler 2021-10-03T07:59:16.058Z

2021-10-02T06:59:01.727Z WARN [org.eclipse.jetty.util.component.AbstractLifeCycle:234] - FAILED ManagedSelector@377dfe05{FAILED} id=0 keys=0 selected=0 updates=1: java.lang.InterruptedException
nrepl.middleware.interruptible-eval/evaluate/fn           interruptible_eval.clj:   87
...                                       
clojure.core/with-bindings*                         core.clj: 1973 (repeats 2 times)
clojure.core/apply                         core.clj:  665
...                                       
nrepl.middleware.interruptible-eval/evaluate/fn/fn           interruptible_eval.clj:   87
clojure.core/eval                         core.clj: 3214
...                                       
dev/eval40471                        REPL Input     
dev/restart                          dev.clj:   17
...                                       
app.init/init                         init.clj:   46
app.init/init                         init.clj:   52
com.stuartsierra.component.SystemMap/start                   component.cljc:  179
com.stuartsierra.component/start-system                   component.cljc:  162
com.stuartsierra.component/start-system                   component.cljc:  164
...                                       
com.stuartsierra.component/update-system                   component.cljc:  130
com.stuartsierra.component/update-system                   component.cljc:  136
clojure.core/reduce                         core.clj: 6827
...                                       
com.stuartsierra.component/update-system/fn                   component.cljc:  140
com.stuartsierra.component/try-action                   component.cljc:  118
clojure.core/apply                         core.clj:  667
...                                       
com.stuartsierra.component/eval470/fn/G                   component.cljc:    5 (repeats 2 times)
app.http.server.HTTPServer/start                       server.clj:   24
app.http.server/create-server                       server.clj:   12
ring.adapter.jetty/run-jetty                        jetty.clj:  172
org.eclipse.jetty.util.component.AbstractLifeCycle.start           AbstractLifeCycle.java:   72
org.eclipse.jetty.server.Server.doStart                      Server.java:  385
org.eclipse.jetty.util.component.AbstractLifeCycle.start           AbstractLifeCycle.java:   72
org.eclipse.jetty.server.ServerConnector.doStart             ServerConnector.java:  231
org.eclipse.jetty.server.AbstractNetworkConnector.doStart    AbstractNetworkConnector.java:   81
org.eclipse.jetty.server.AbstractConnector.doStart           AbstractConnector.java:  320
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart          ContainerLifeCycle.java:  110
org.eclipse.jetty.util.component.ContainerLifeCycle.start          ContainerLifeCycle.java:  169
org.eclipse.jetty.util.component.AbstractLifeCycle.start           AbstractLifeCycle.java:   72
org.eclipse.jetty.io.SelectorManager.doStart             SelectorManager.java:  262
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart          ContainerLifeCycle.java:  117
org.eclipse.jetty.util.component.ContainerLifeCycle.start          ContainerLifeCycle.java:  169
org.eclipse.jetty.util.component.AbstractLifeCycle.start           AbstractLifeCycle.java:   72
org.eclipse.jetty.io.ManagedSelector.doStart             ManagedSelector.java:  123
java.util.concurrent.CountDownLatch.await              CountDownLatch.java:  232
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly  AbstractQueuedSynchronizer.java: 1345
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly  AbstractQueuedSynchronizer.java: 1040

dawdler 2021-10-03T08:00:09.058200Z

Does that help?

vlaaad 2021-10-03T08:44:28.058400Z

Unfortunately not :(

dawdler 2021-10-03T08:45:11.058600Z

No worries, thanks anyway!

dawdler 2021-10-03T09:19:38.058800Z

Seems it is working now, was a timbre issue. FYI. 🙂

👍 1