{"id":13568520,"url":"https://github.com/taoensso/timbre","last_synced_at":"2025-12-12T01:14:45.715Z","repository":{"id":3416865,"uuid":"4467832","full_name":"taoensso/timbre","owner":"taoensso","description":"Pure Clojure/Script logging library","archived":false,"fork":false,"pushed_at":"2025-05-12T09:11:34.000Z","size":1379,"stargazers_count":1464,"open_issues_count":5,"forks_count":174,"subscribers_count":34,"default_branch":"master","last_synced_at":"2025-05-12T09:28:49.127Z","etag":null,"topics":["clojure","clojurescript","epl","logging","slf4j","taoensso"],"latest_commit_sha":null,"homepage":"https://www.taoensso.com/timbre","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"BlackHumor/https-github.com-47deg-android-swipelistview","license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/taoensso.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"ptaoussanis","custom":"https://www.taoensso.com/clojure"}},"created_at":"2012-05-28T06:22:02.000Z","updated_at":"2025-05-12T09:11:37.000Z","dependencies_parsed_at":"2023-09-23T06:44:31.526Z","dependency_job_id":"22d57d9c-0ad5-4de4-a119-eb04f5b80eae","html_url":"https://github.com/taoensso/timbre","commit_stats":{"total_commits":703,"total_committers":69,"mean_commits":10.18840579710145,"dds":0.2901849217638691,"last_synced_commit":"d71f81f85fb59fc92b5cebed6dd8702fc5557557"},"previous_names":["taoensso/timbre","ptaoussanis/timbre"],"tags_count":111,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taoensso%2Ftimbre","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taoensso%2Ftimbre/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taoensso%2Ftimbre/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taoensso%2Ftimbre/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taoensso","download_url":"https://codeload.github.com/taoensso/timbre/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253745198,"owners_count":21957319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clojure","clojurescript","epl","logging","slf4j","taoensso"],"created_at":"2024-08-01T14:00:27.252Z","updated_at":"2025-12-12T01:14:40.649Z","avatar_url":"https://github.com/taoensso.png","language":"Clojure","funding_links":["https://github.com/sponsors/ptaoussanis","https://www.taoensso.com/clojure"],"categories":["Clojure","日志库","\u003ca name=\"Clojure\"\u003e\u003c/a\u003eClojure"],"sub_categories":[],"readme":"\u003ca href=\"https://www.taoensso.com/clojure\" title=\"More stuff by @ptaoussanis at www.taoensso.com\"\u003e\u003cimg src=\"https://www.taoensso.com/open-source.png\" alt=\"Taoensso open source\" width=\"340\"/\u003e\u003c/a\u003e  \n[**API**][codox] | [**Wiki**][GitHub wiki] | [Latest releases](#latest-releases) | [Slack channel][]\n\n# Timbre\n\n### Pure Clojure/Script logging library\n\nGetting even the simplest Java logging working can be maddeningly complex, and it often gets worse at scale as your needs become more sophisticated.\n\nTimbre offers an **all Clojure/Script** alternative that's fast, deeply flexible, easy to configure with pure Clojure data, and that **just works out the box**.\n\nSupports optional interop with [tools.logging](../../wiki/4-Interop#toolslogging) and [Java logging via SLF4Jv2](../../wiki/4-Interop#java-logging).\n\n## Library status\n\nWhile I will continue to support Timbre as always, I'd recommend new users see [Telemere](https://www.taoensso.com/telemere) instead - which is essentially a **modern rewrite of Timbre**.\n\nThere's **zero pressure** for existing users of Timbre to migrate, though there are significant benefits - and migration is often [quick and easy](https://github.com/taoensso/telemere/wiki/5-Migrating#from-timbre). See [here](https://github.com/taoensso/telemere/wiki/6-FAQ#why-not-just-update-timbre) for why I made the decision to release a new library.\n\n\\- Peter Taoussanis\n\n## Latest release/s\n\n- `2025-04-15` `v6.7.0`: [release info](../../releases/tag/v6.7.0)\n\n[![Main tests][Main tests SVG]][Main tests URL]\n[![Graal tests][Graal tests SVG]][Graal tests URL]\n\nSee [here][GitHub releases] for earlier releases.\n\n## Why Timbre?\n\n- Full **Clojure** \u0026 **ClojureScript** support, with built-in appenders for both\n- **A single, simple config map**, and you're set. No need for XML or properties files\n- Simple `(fn [data]) -\u003e ?effects` appenders, and `(fn [data]) -\u003e ?data` middleware\n- Easily save **raw logging arguments** to the DB of your choice\n- Easily filter logging calls by **any combination** of: level, namespace, appender\n- **Zero overhead** compile-time level/ns elision\n- Powerful, easy-to-configure **rate limits** and **async logging**\n- **Great performance** and flexibility at any scale\n- Small, simple, cross-platform pure-Clojure codebase\n\n## Documentation\n\n- [Wiki][GitHub wiki] (getting started, usage, etc.)\n- API reference: [Codox][]\n\n## Funding\n\nYou can [help support][sponsor] continued work on this project, thank you!! 🙏\n\n## License\n\nCopyright \u0026copy; 2014-2025 [Peter Taoussanis][].  \nLicensed under [EPL 1.0](LICENSE.txt) (same as Clojure).\n\n\u003c!-- Common --\u003e\n\n[GitHub releases]: ../../releases\n[GitHub issues]:   ../../issues\n[GitHub wiki]:     ../../wiki\n[Slack channel]: https://www.taoensso.com/timbre/slack\n\n[Peter Taoussanis]: https://www.taoensso.com\n[sponsor]:          https://www.taoensso.com/sponsor\n\n\u003c!-- Project --\u003e\n\n[Codox]:  https://taoensso.github.io/timbre/\n[cljdoc]: https://cljdoc.org/d/com.taoensso/timbre/CURRENT/api/taoensso.timbre\n\n[Clojars SVG]: https://img.shields.io/clojars/v/com.taoensso/timbre.svg\n[Clojars URL]: https://clojars.org/com.taoensso/timbre\n\n[Main tests SVG]:  https://github.com/taoensso/timbre/actions/workflows/main-tests.yml/badge.svg\n[Main tests URL]:  https://github.com/taoensso/timbre/actions/workflows/main-tests.yml\n[Graal tests SVG]: https://github.com/taoensso/timbre/actions/workflows/graal-tests.yml/badge.svg\n[Graal tests URL]: https://github.com/taoensso/timbre/actions/workflows/graal-tests.yml\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaoensso%2Ftimbre","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaoensso%2Ftimbre","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaoensso%2Ftimbre/lists"}