Commit graph

22 commits

Author SHA1 Message Date
Peter Taoussanis
cbab57be66 [fix] [#21] Work around issue with use in Cljs core.async/go bodies
Problem:
  (clojure.core.async/go (taoensso.telemere/log! "hello")) ; Compiles fine
  (cljs.core.async/go    (taoensso.telemere/log! "hello")) ; Compile fails

I could try to get to the bottom of exactly what's going on - but ultimately
IOC mechanisms like `go` are always going to be a bit fragile, especially for
heavily-optimized/unusual code.

In this case, the problem is thankfully only with Cljs - and Telemere's Cljs
performance isn't too critical - so I think we can afford to just bypass any
potential fiddling by the `go` macro by wrapping Cljs Telemere expansions in
an IIFE ((fn [] ...)).

Downside is the (small) added cost of a function construction and call.
Upside   is avoiding potential issues with core.async and other similar
IOC-style systems (Electric Clojure, etc.)
2024-09-20 22:55:12 +02:00
Peter Taoussanis
568906c96b [fix] [#20] Wrong :arglists meta on spy! 2024-09-20 22:55:12 +02:00
Peter Taoussanis
d9c3583631 [new] Add :rate-limit-by option to all signal creators
When present, will cause limits to be per [expansion, by-value]
2024-09-20 22:55:12 +02:00
Peter Taoussanis
f703630914 [mod] Update pr-signal-fn to use clean-signal-fn 2024-09-20 22:55:12 +02:00
Peter Taoussanis
be55f44a87 [new] Add clean-signal-fn util 2024-09-20 22:55:12 +02:00
Peter Taoussanis
d12b0b145b [new] Add signal-allowed? util
Useful for using Telemere's filtering features without generating
any signals, etc.
2024-09-20 22:55:12 +02:00
Peter Taoussanis
a9005e7f1c [mod] Rename taoensso.telemere.api -> taoensso.telemere.shell 2024-09-20 22:55:12 +02:00
Peter Taoussanis
965c2277fd [new] Allow compile-time config of uid kind 2024-09-20 22:55:12 +02:00
Peter Taoussanis
a09c628f23 [nop] Signal fields: revert to initial behaviour
Seems issue with "Electric Clojure" might not be on Telemere's side.
2024-09-20 22:55:12 +02:00
Peter Taoussanis
9b24b54215 [fix] Signal fields: define same fields regardless of platform
Attempted fix for possible issue with "Electric Clojure"
2024-09-20 22:55:12 +02:00
Peter Taoussanis
92a7aee530 [fix] Signal fields: define based on target (not macro) platform
Attempted fix for possible issue with "Electric Clojure"
2024-09-20 22:55:12 +02:00
Peter Taoussanis
f52a04b4dc [fix] [#18] Support {:uid :auto} for non-tracing signal creators 2024-09-20 22:55:12 +02:00
Peter Taoussanis
974df3e152 [doc] Drop suggested edn suffixes from env config 2024-09-20 22:55:12 +02:00
Peter Taoussanis
e4a0a41a1b [doc] Misc improvements 2024-09-20 22:55:12 +02:00
Peter Taoussanis
f9564b2fc5 [nop] Misc improvements 2024-09-20 09:37:28 +02:00
Peter Taoussanis
7e8f692b93 v1.0.0-SNAPSHOT 2024-08-28 18:43:36 +02:00
Peter Taoussanis
97f0eb5efd v1.0.0-beta22 (2024-08-28) 2024-08-28 18:35:25 +02:00
Peter Taoussanis
77ed27cfd1 [mod] Move dep: com.taoensso/slf4j-telemere -> com.taoensso/telemere-slf4j 2024-08-28 18:26:52 +02:00
Peter Taoussanis
ece51b2ef6 [new] Add experimental facade API for lib authors, etc. 2024-08-28 18:26:52 +02:00
Peter Taoussanis
0f09b797ed [fix] More robust mechanism for retaining nested macro callsite info 2024-08-28 16:54:57 +02:00
Peter Taoussanis
0e4942e99c [fix] :line unit tests 2024-08-28 16:54:55 +02:00
Peter Taoussanis
19cd1af3a4 [nop] Restructure repo 2024-08-28 16:53:31 +02:00