Files
gh-hugoduncan-library-skill…/skills/timbre/metadata.edn
2025-11-29 18:47:15 +08:00

83 lines
2.7 KiB
Clojure

{:skill
{:name "timbre"
:version "1.0.0"
:description "Pure Clojure/Script logging library with flexible configuration and powerful features"
:tags [:logging :clojure :clojurescript :appenders :async :middleware]
:use-cases
["Application logging with structured data"
"Error tracking and exception handling"
"Performance monitoring and profiling"
"Multi-destination log routing"
"Development and production logging"
"Request/response logging"
"Database query logging"
"Conditional and rate-limited logging"]
:key-features
["Zero-dependency pure Clojure/Script implementation"
"Simple configuration with Clojure data structures"
"Compile-time log level and namespace elision"
"Async logging with configurable appenders"
"Rate limiting per appender or log call"
"Flexible middleware pipeline"
"Context/MDC support for structured logging"
"Built-in and extensible appenders"
"tools.logging and SLF4J interoperability"
"Printf-style and structured logging"]}
:library
{:name "com.taoensso/timbre"
:version "6.8.0"
:url "https://github.com/taoensso/timbre"
:documentation-url "https://taoensso.github.io/timbre/"
:license "EPL-1.0"
:platforms [:clojure :clojurescript]
:notes "For new projects, consider Telemere - a modern rewrite of Timbre"}
:file-structure
{:skill-md "Comprehensive API reference and usage patterns"
:examples-clj "Runnable Babashka examples demonstrating core features"
:metadata-edn "Skill metadata and library information"}
:learning-path
{:beginner
["Basic logging at different levels"
"Simple configuration setup"
"Using built-in appenders"
"Exception logging"]
:intermediate
["Custom appenders"
"Middleware functions"
"Context/MDC usage"
"Rate limiting and async logging"
"Namespace filtering"]
:advanced
["Custom output formatting"
"Complex appender configurations"
"Performance optimization"
"Multi-environment setup"
"Integration with other logging systems"]}
:api-coverage
{:logging-functions
["trace" "debug" "info" "warn" "error" "fatal" "report"
"tracef" "debugf" "infof" "warnf" "errorf" "fatalf" "reportf"
"log" "logf" "spy" "sometimes"]
:configuration
["set-config!" "merge-config!" "swap-config!"
"with-config" "with-merged-config"
"set-min-level!" "set-ns-min-level!"
"with-min-level"]
:context
["with-context" "with-context+"]
:utilities
["log-errors" "log-and-rethrow-errors"
"logged-future" "handle-uncaught-jvm-exceptions!"
"shutdown-appenders!"]
:appenders
["println-appender" "spit-appender"]
:output
["default-output-fn" "default-output-msg-fn"
"color-str" "ansi-color"]
:interop
["use-timbre" "refer-timbre"]}}