Commit graph

55 commits

Author SHA1 Message Date
Peter Taoussanis
1bdb667b6c [doc] Add extra docs re: debugging filtering 2025-05-27 08:59:58 +02:00
Mark Sto
9d040d70cd [doc] [#63] Add link to community Axiom handler (@marksto) 2025-05-27 08:59:13 +02:00
Peter Taoussanis
248e91f982 [nop] Misc improvements 2025-04-30 14:50:40 +02:00
Peter Taoussanis
f37f54e1da [mod] Rename "rate-limit" -> "limit"
Users caught by this change should receive a clear compile-time error.

Apologies for the nuissance!! This change is part of a final review
of names before the release of v1 final.
2025-03-10 13:02:57 +01:00
Peter Taoussanis
1f4b49a21a [mod] Rename "sample-rate" -> "sample"
Users caught by this change should receive a clear compile-time error.

Apologies for the nuissance!! This change is part of a final review
of names before the release of v1 final.
2025-03-10 13:02:57 +01:00
Peter Taoussanis
7cccf672f5 [mod] Rename "middleware" -> "transform" (xfn)
Users caught by this change should receive a clear compile-time error.

Apologies for the nuissance!! This change is part of a final review
of names before the release of v1 final.

Motivations:

  - "xfn" is a lot shorter than "middleware", making it more
    convenient to use at signal calls, compare:

    (log! {:middleware my-fn} "msg")
    (log! {:xfn my-fn} "msg"}

  - "middleware" was originally chosen to match Timbre's terminology,
    but actually carries some misleading connotations that in hindsight
    are probably better avoided while we still have the chance to change
    this.
2025-03-10 13:02:57 +01:00
Peter Taoussanis
ac5feb4723 [mod] [#53] Breaking: change return value of log!, event!
This change will only affect rare advanced users that depend on
the return value of `log!` or `event!`. For all other users this
will be a non-breaking change.

Before this commit:
  `log!` and `event!` returned true iff signal was allowed.

After this commit:
  `log!`  and `event!` now ALWAYS return nil.
  `log!?` and `event!?` have been added that keep the old behaviour.

Motivation:
  It's pretty rare to use the return value when generating log or event
  signals. I originally included the return value since it CAN be handy,
  and I figured it could just be ignored by those that don't need it.

  But #53 showed that there's a downside I hadn't anticipated - some
  users may actually depend on / prefer a nil return to prevent
  accidentally affecting program flow.

  I think that's a legitimate enough concern to still make a change now
  before v1 final.

  Apologies for the nuissance!
2025-03-03 11:19:36 +01:00
Peter Taoussanis
824f8e3d53 [doc] Rename "signal filters" -> "call filters", etc.
The new terminology hopefully makes the distinction clearer
between call filters and handler filters, etc.
2025-02-27 12:45:01 +01:00
Peter Taoussanis
1f99f7186b [mod] Signal content: drop :location, add :coords
This is a BREAKING change to get in before v1 final.

Signal keys BEFORE this commit:
  `:location` ---- ?{:keys [ns file line column]} signal creator callsite
  `:ns` ---------- ?str namespace of signal creator callsite, same as (:ns     location)
  `:line` -------- ?int line      of signal creator callsite, same as (:line   location)
  `:column` ------ ?int column    of signal creator callsite, same as (:column location)
  `:file` -------- ?str filename  of signal creator callsite, same as (:file   location)

Signal keys AFTER this commit:
  `:ns` ---------- ?str namespace of signal creator callsite
  `:coords` ------ ?[line column] of signal creator callsite

Motivation for the breaking change:

  The new callsite schema is simpler to use/override, reduces noise, and can reduce
  code expansion size (and so Cljs build size).

  - `:file` was rarely useful, but often added large embedded strings.
  - `:location` was redundant, and often difficult for Closure's
    advanced build to properly de-duplicate.

  This schema will be shared by Truss v2 and Tufte v3.
2025-02-27 12:44:30 +01:00
Peter Taoussanis
af14494637 [doc] Misc improvements 2025-02-12 09:18:44 +01:00
Peter Taoussanis
7d4aed60d8 [doc] Misc improvements 2025-01-22 14:52:38 +01:00
Peter Taoussanis
8cd4ca97e6 [doc] [#33] Add community examples link to Bling Gist 2024-12-24 10:35:07 +01:00
Peter Taoussanis
ace6e2dd2c [new] Add timbre->telemere appender and update docs 2024-12-23 11:19:05 +01:00
Peter Taoussanis
096c432eff [mod] [#39] Remove shell API 2024-12-22 13:58:03 +01:00
Peter Taoussanis
cca8bb33ff [doc] Misc improvements 2024-12-22 13:58:03 +01:00
Peter Taoussanis
822032de13 [doc] Add FAQ item re: event! arg order 2024-12-22 13:50:01 +01:00
Peter Taoussanis
e60dde03eb [doc] Add community example for GCP (@xlfe) 2024-10-29 10:02:13 +01:00
Peter Taoussanis
5528102f80 [doc] Restructure community examples 2024-10-29 10:02:13 +01:00
Peter Taoussanis
3d71b70503 [doc] [#27] Typo in link (@blnote) 2024-10-29 10:02:13 +01:00
Peter Taoussanis
0ca48fa6a1 [doc] Misc improvements 2024-10-29 10:02:13 +01:00
Peter Taoussanis
a9005e7f1c [mod] Rename taoensso.telemere.api -> taoensso.telemere.shell 2024-09-20 22:55:12 +02:00
Peter Taoussanis
e4a0a41a1b [doc] Misc improvements 2024-09-20 22:55:12 +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
824ebc7802 [doc] Update docs and examples 2024-08-28 09:17:33 +02:00
Peter Taoussanis
8066776a80 [doc] Update docs and examples 2024-08-26 09:57:29 +02:00
Peter Taoussanis
ddc9480d20 [doc] Update docs and examples 2024-08-23 14:06:02 +02:00
Peter Taoussanis
ef678bcc36 [mod] Generalize "intake", rename -> "interop"
Extending feature to cover general interop like OpenTelemetry tracing, etc.
2024-08-23 14:05:46 +02:00
Peter Taoussanis
064ef32377 [mod] OpenTelemetry handler: rename (generalize)
Handler now does more than just logging.
2024-08-20 19:25:53 +02:00
Peter Taoussanis
c2ad207b18 [doc] New handlers table 2024-08-20 15:14:20 +02:00
Peter Taoussanis
7dc695a18c [doc] Misc improvements 2024-08-20 15:14:20 +02:00
Peter Taoussanis
67cb4941bf [new] OpenTelemetry handler: add experimental trace output 2024-08-19 16:06:07 +02:00
Peter Taoussanis
54494b33be [nop] Housekeeping 2024-08-19 15:13:12 +02:00
Peter Taoussanis
a39b720935 [doc] Doc and example improvements 2024-08-08 10:55:30 +02:00
Peter Taoussanis
946240dda4 [doc] Doc and example improvements 2024-08-07 11:37:00 +02:00
Peter Taoussanis
19a9744c3f [doc] [#13] Add warning about SLF4J API v1 to wiki 2024-08-07 11:13:49 +02:00
Peter Taoussanis
8f1035ff97 [nop] Consistent tools.logging terminology
The terminology is necessarily a bit complex because of competing constraints.
2024-05-25 11:19:09 +02:00
Peter Taoussanis
c3ce68b512 [new] Add preliminary docs for lib maintainers, etc. 2024-05-25 10:34:54 +02:00
Peter Taoussanis
ca9b27f895 [new] Updates for latest Encore signal toolkit changes 2024-05-23 09:43:55 +02:00
Peter Taoussanis
7847bd1348 [nop] Housekeeping, docs 2024-05-10 11:43:32 +02:00
Peter Taoussanis
1f624b6d50 [mod] pr-signal: switch to single (opts) arity only
For consistency with other utils and handlers
2024-05-08 09:35:02 +02:00
Peter Taoussanis
21c0d5a791 [nop] Housekeeping 2024-05-06 16:26:26 +02:00
Peter Taoussanis
7007e8bd03 [new] Add Slack handler 2024-05-06 14:52:32 +02:00
Peter Taoussanis
0ff8dafaf3 [nop] Housekeeping 2024-05-06 14:13:54 +02:00
Peter Taoussanis
21cb44e709 [mod] Rename, refactor signal formatting utils
- Simplified some util name (only relevant to folks customizing handler behaviour)
- Merged `format-signal->edn-fn`, `format-signal->json-fn` to single `pr-signal-fn`
2024-05-05 13:58:34 +02:00
Peter Taoussanis
f3659146bf [doc] Doc improvements 2024-05-05 13:58:16 +02:00
Peter Taoussanis
12f4b35d71 [doc] Documentation improvements 2024-04-29 12:15:19 +02:00
Peter Taoussanis
d04f6d8e5b [nop] Misc housekeeping 2024-04-24 13:22:31 +02:00
Peter Taoussanis
d0a15bac6b [mod] Don't auto add OpenTelemetry handler
Adding this manually is easy, and it's probably better to ask users
to do this explicitly since auto config won't always be successful.
2024-04-24 13:22:31 +02:00
Peter Taoussanis
ffea1a30ed [fix] Fix broken AOT support, add AOT tests
Thanks to @AdamFrey for reporting this issue!
Ref. <https://clojurians.slack.com/archives/C06ALA6EEUA/p1713805333272469>

Previously:

  Attempting to run AOT'd code using Telemere would result in errors like:
  "Attempting to call unbound fn: #'taoensso.telemere.handlers.open-telemetry/handler:open-telemetry-logger"

The approach I was using of conditionally requiring namespaces and then aliasing vars seems to be inherently
fragile under AOT, and was leading to the remote source var being unbound.

With this commit I've now switched to a simpler approach - where we conditionally require namespaces *without*
the need for any aliasing.
2024-04-24 13:22:30 +02:00