mirror of
https://github.com/taoensso/telemere.git
synced 2025-12-16 17:41:12 +00:00
[doc] Mention Trove
Some checks failed
Graal tests / test (17, macOS-latest) (push) Waiting to run
Graal tests / test (17, ubuntu-latest) (push) Waiting to run
Graal tests / test (17, windows-latest) (push) Waiting to run
Main tests / tests (17, ubuntu-latest) (push) Has been cancelled
Main tests / tests (19, ubuntu-latest) (push) Has been cancelled
Main tests / tests (21, ubuntu-latest) (push) Has been cancelled
Some checks failed
Graal tests / test (17, macOS-latest) (push) Waiting to run
Graal tests / test (17, ubuntu-latest) (push) Waiting to run
Graal tests / test (17, windows-latest) (push) Waiting to run
Main tests / tests (17, ubuntu-latest) (push) Has been cancelled
Main tests / tests (19, ubuntu-latest) (push) Has been cancelled
Main tests / tests (21, ubuntu-latest) (push) Has been cancelled
This commit is contained in:
parent
070fe88abb
commit
67d6468593
1 changed files with 19 additions and 6 deletions
|
|
@ -1,17 +1,30 @@
|
|||
Are you a library author/maintainer that's considering **using Telemere in your library**?
|
||||
|
||||
You have **two options** below-
|
||||
You have **a few options** below-
|
||||
|
||||
# Options
|
||||
## 1. Common logging facade (basic logging only)
|
||||
|
||||
Many libraries need only basic logging. In these cases it can be beneficial to do your logging through a common logging facade like [tools.logging](https://github.com/clojure/tools.logging) or [SLF4J](https://www.slf4j.org/).
|
||||
## Modern logging facade
|
||||
|
||||
This'll limit you to basic features (e.g. no structured logging or [rich filtering](https://cljdoc.org/d/com.taoensso/telemere/CURRENT/api/taoensso.telemere#get-filters)) - but your users will have the freedom to choose and configure their **preferred backend** ([incl. Telemere if they like](./3-Config#interop)).
|
||||
[Trove](https://www.taoensso.com/trove) is a minimal, modern alternative to [tools.logging](https://github.com/clojure/tools.logging) that supports all of Telemere's structured logging and rich filtering features.
|
||||
|
||||
## 2. Telemere as a transitive dependency
|
||||
Basically:
|
||||
|
||||
Include [Telemere](https://clojars.org/com.taoensso/telemere) in your **library's dependencies**. Your library (and users) will then have access to the full Telemere API.
|
||||
1. You include the (very small) Trove dependency with your library
|
||||
2. Your library logs using the [Trove API](https://github.com/taoensso/trove#to-choose-a-backend)
|
||||
3. Your users then [choose](https://github.com/taoensso/trove#to-choose-a-backend) their preferred backend (Telemere, etc.)
|
||||
|
||||
This would be my first recommendation, and is what I'm planning to use for future updates to [Sente](https://www.taoensso.com/sente), [Carmine](https://www.taoensso.com/carmine), etc.
|
||||
|
||||
## Traditional logging facade (basic logging only)
|
||||
|
||||
Many libraries need only basic logging. In these cases it can be beneficial to do your logging through a common traditional logging facade like [tools.logging](https://github.com/clojure/tools.logging) or [SLF4J](https://www.slf4j.org/).
|
||||
|
||||
Though these'll limit you to basic features (e.g. no structured logging or [rich filtering](https://cljdoc.org/d/com.taoensso/telemere/CURRENT/api/taoensso.telemere#get-filters)).
|
||||
|
||||
## Telemere as a transitive dependency
|
||||
|
||||
You could just include [Telemere](https://clojars.org/com.taoensso/telemere) in your **library's dependencies**. Your library (and users) will then have access to the full Telemere API.
|
||||
|
||||
Telemere's [default config](./1-Getting-started#default-config) is sensible (with println-like console output), so your users are unlikely to need to configure or interact with Telemere much unless they choose to.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue