{"repo":"podium/uinta","free":true,"listed":false,"github":"https://github.com/podium/uinta","clone":"git clone https://github.com/podium/uinta.git","description":"Simpler structured logs and lower log volume for Elixir apps","language":"Elixir","stars":27,"topics":["elixir","elixir-lang","logger","logging"],"license":"MIT","category":"analytics","readme_excerpt":"Uinta Uinta is a plugin for the default Elixir logger that lowers log volume while maximizing log usefulness. It is not a logger backend, but rather includes Uinta.Formatter which will format logs on top of the default Elixir logger backend. In addition to the formatter, Uinta also includes Uinta.Plug . The plug is a drop-in replacement for Plug.Logger that will log out the request and response on a single line. It can also put the request info into the top-level JSON for easier parsing by your log aggregator. Why Uinta? At Podium we log millions of lines per minute and store around a terabyte of log data per day. A large percentage of those lines are the typical GET / and Sent 200 in 2ms that Phoenix.Logger sends by default. By combining those into a single line, we're able to cut out that percentage of lines so that the indexes in our Elasticsearch cluster will be smaller and searches will be faster. In addition, about 2/3 of those requests are GraphQL requests. Their first log line simply says POST /graphql every time, which gives us no insight into what the request is actually doing. Uinta.Plug will extract GraphQL query names when they exist to make these log lines more useful without having to enable debug logs: QUERY messagesForLocation (/graphql) or MUTATION createMessage (/graphql) . For smaller organizations, the ability to filter out lines pertaining to certain requests paths can also be useful to cut down on log noise. Kubernetes health checks and other requests d","default_branch":null,"files":null,"tree":[],"storefront":"/r/podium","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/podium/uinta/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}