{"id":17491770,"url":"https://github.com/rabdulwahhab/log_vol","last_synced_at":"2026-06-06T05:32:10.205Z","repository":{"id":57518618,"uuid":"401864592","full_name":"rabdulwahhab/log_vol","owner":"rabdulwahhab","description":"An elixir library for controlling the volume of logs","archived":false,"fork":false,"pushed_at":"2021-09-02T00:18:14.000Z","size":26,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-19T11:13:29.999Z","etag":null,"topics":["elixir","logger","logging","volume"],"latest_commit_sha":null,"homepage":"https://hexdocs.pm/log_vol","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rabdulwahhab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-31T22:56:43.000Z","updated_at":"2021-09-02T00:18:17.000Z","dependencies_parsed_at":"2022-09-26T18:01:44.767Z","dependency_job_id":null,"html_url":"https://github.com/rabdulwahhab/log_vol","commit_stats":null,"previous_names":["boqolo/log_vol","rabdwhb/log_vol"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rabdulwahhab%2Flog_vol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rabdulwahhab%2Flog_vol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rabdulwahhab%2Flog_vol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rabdulwahhab%2Flog_vol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rabdulwahhab","download_url":"https://codeload.github.com/rabdulwahhab/log_vol/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246068263,"owners_count":20718501,"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":["elixir","logger","logging","volume"],"created_at":"2024-10-19T08:04:53.089Z","updated_at":"2025-12-11T23:42:36.338Z","avatar_url":"https://github.com/rabdulwahhab.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LogVol\n\nIs your system too quiet or too loud? Whether you want\nyour code to speak up or shut up, control the volume of\nlogs with LogVol, a library for increased logging resolution.\n\nLogVol is a simple wrapper around Elixir's native `Logger` module. \nTherefore, it has no other dependencies. Its API is also designed\nto mirror that of the native `Logger` so that it can be used as a\ndrop in replacement in any project.\n\n[Elixir's Logger](https://hexdocs.pm/logger/master/Logger.html#content) is\ngreat. It has [controls](https://hexdocs.pm/logger/master/Logger.html#module-runtime-configuration) \nfor limiting output logs by level/severity (`debug`, `info`, `warn`, `error`, etc.). However,\nwhen you want to specify which logs to output and suppress within a log level, there isn't a standard solution,\nsave for checking `dev` or `prod` environments, or, writing and deleting logs over and over when you want more\ndetails or less terminal clutter.\n\nLogVol aims to provide an intuitive interface for logging with more resolution across the project.\n\n## Usage\n\nThere are currently 5 supported log volumes:\n\n```elixir\n  :very_verbose\n  :verbose\n  :normal\n  :quiet\n  :silent\n```\n      \nSet `LogVol`'s global volume at runtime with `LogVol.set/1`, like so: \n\n```elixir\nLogVol.set :verbose\n```\n    \nWrite a log in your code like so:\n\n```elixir\ndef foo(bar) do \n  bee = Enum.to_list(1..10)\n  bum = Enum.random(bee)\n  boo = :rand.uniform(5)\n  LogVol.debug(\n    \"in foo(), got #{bar}\", # message at :normal volume\n    very_verbose: \"in foo():\\ngot #{bar},\\nbum --\u003e #{bum},\\nboo --\u003e #{boo}\",\n    verbose: \"in foo(), got #{bar}, boo: #{boo}\",\n    quiet: \"foo(#{bar})\"\n  )\n  bar + bum * boo\nend\n```\n\nA message does not have to be specified for all volumes. \n\n```elixir\ndef foo(bar) do \n  # ...\n  LogVol.debug(verbose: \"in foo(), got #{bar}, boo: #{boo}\")\n  # ...\nend\n```\n\nMore examples and details can be found at the official documentation:\n[https://hexdocs.pm/log_vol](https://hexdocs.pm/log_vol).\n\n#### Personal TODO\n1. add `typespecs` for module functions\n2. Better docs?\n3. Formatter\n4. full Logger api support\n\n## Installation\n\nThe package can be installed\nby adding `log_vol` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:log_vol, \"~\u003e 0.0.2\"}\n  ]\nend\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frabdulwahhab%2Flog_vol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frabdulwahhab%2Flog_vol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frabdulwahhab%2Flog_vol/lists"}