{"id":20345198,"url":"https://github.com/rill-project/scribble","last_synced_at":"2026-06-12T09:31:09.680Z","repository":{"id":57546251,"uuid":"163193399","full_name":"rill-project/scribble","owner":"rill-project","description":" Thin wrapper around Elixir Logger, providing configurable logging levels and tagging support","archived":false,"fork":false,"pushed_at":"2019-01-09T18:16:19.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-04T15:47:33.022Z","etag":null,"topics":["elixir","logger"],"latest_commit_sha":null,"homepage":"https://hexdocs.pm/scribble","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rill-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-26T15:28:39.000Z","updated_at":"2019-01-09T18:16:17.000Z","dependencies_parsed_at":"2022-09-05T10:50:54.531Z","dependency_job_id":null,"html_url":"https://github.com/rill-project/scribble","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/rill-project/scribble","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rill-project%2Fscribble","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rill-project%2Fscribble/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rill-project%2Fscribble/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rill-project%2Fscribble/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rill-project","download_url":"https://codeload.github.com/rill-project/scribble/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rill-project%2Fscribble/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34238711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["elixir","logger"],"created_at":"2024-11-14T22:07:15.425Z","updated_at":"2026-06-12T09:31:09.661Z","avatar_url":"https://github.com/rill-project.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scribble\n\nThin wrapper around Elixir `Logger`, providing configurable logging\nlevels and tagging support\n\n## Installation\n\nThe package can be installed by adding `scribble` to your list of\ndependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:scribble, \"\u003e= 0.0.0\"}\n  ]\nend\n```\n\nThen, ensure `:logger` uses `Scribble` as backend:\n\n```elixir\nconfig :logger, backends: [Scribble]\n```\n\nThe docs can\nbe found at [https://hexdocs.pm/scribble](https://hexdocs.pm/scribble).\n\n## Usage\n\nSupports the same arguments as `Logger.log` and the macros `debug`,\n`info`, `warn`, `error`.\n\nAvailable levels are:\n\n- `trace`\n- `debug`\n- `info`\n- `warn`\n- `error`\n- `fatal`\n\nAvailable functions are:\n\n- `log`\n- `trace`\n- `debug`\n- `info`\n- `warn`\n- `error`\n- `fatal`\n\nAll the functions can be invoked with the following arguments:\n\n- `debug(metadata, fn_or_text)`\n- `debug(fn_or_text, metadata)`\n- `debug(fn_or_text)`\n- `debug([do: block])`\n- `debug(metadata, [do: block])`\n\n`log` behaves the same way but has an additional argument at the\nbeginning of the signature which is the level as an atom.\n\n```elixir\nrequire Scribble\n\nScribble.trace do\n  \"one\"\nend\n\n# The single tag will be prepended to `:tags`, so tags: [:hello, :bar, :baz]\nScribble.debug tag: :hello, tags: [:bar, :baz] do\n  \"two\"\nend\n\nScribble.info tags: [:world] do\n  \"three\"\nend\n\nScribble.warn([tag: :warntime], fn -\u003e\n  \"three\"\nend)\n\nScribble.error(\n  fn -\u003e \"four\" end,\n  tags: [:two, :tags]\n)\n\nScribble.fatal tag: [:end] do\n  \"five\"\nend\n\nScribble.log(:fatal, \"six\")\n```\n\nIt's possible to set default tags through `@scribble` attribute, which can be\nset multiple times to change the configuration (it doesn't accumulate):\n\n```elixir\ndefmodule Foo do\n  @scribble tag: :foo\n  def test1 do\n    Scribble.info tag: :bar do\n      \"message\"\n    end\n    # the message will have `tags: [:foo, :bar]`\n  end\n\n  # Tags can also be printed upon request\n  @scribble tag: bar, include_tags: true\n  def test2 do\n    Scribble.info tag: :baz do\n      \"message\"\n    end\n    # =\u003e (bar, baz) message\n  end\nend\n```\n\n## Configuration\n\nDefault Scribble configuration is the following:\n\n```elixir\nconfig :scribble,\n  device: :standard_error,\n  levels: [:trace, :debug, :info, :warn, :error, :fatal],\n  # Used for logger compile_time_purge, converts scribble levels to\n  # Logger levels\n  logger_levels: [trace: :debug, fatal: :error],\n  # Used to align levels in text\n  levelpads: [info: \" \", warn: \" \"],\n  colors: [\n    trace: :normal,\n    debug: :white,\n    info: :cyan,\n    warn: :yellow,\n    error: :green,\n    fatal: :red\n  ]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frill-project%2Fscribble","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frill-project%2Fscribble","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frill-project%2Fscribble/lists"}