https://github.com/akasprzok/svadilfari
An Elixir Logger Backend for Grafana Loki.
https://github.com/akasprzok/svadilfari
elixir grafana-loki logger
Last synced: 11 months ago
JSON representation
An Elixir Logger Backend for Grafana Loki.
- Host: GitHub
- URL: https://github.com/akasprzok/svadilfari
- Owner: akasprzok
- License: mit
- Created: 2022-06-28T05:53:51.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-03T12:56:27.000Z (over 1 year ago)
- Last Synced: 2025-04-15T00:14:39.993Z (about 1 year ago)
- Topics: elixir, grafana-loki, logger
- Language: Elixir
- Homepage:
- Size: 57.6 KB
- Stars: 10
- Watchers: 1
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README

[](https://hex.pm/packages/svadilfari/)
[](https://hexdocs.pm/svadilfari/)

[](https://coveralls.io/github/akasprzok/svadilfari?branch=main)
# Svadilfari
A logger backend for sending logs directly to Grafana Loki.
## Installation
The package can be installed by adding `svadilfari` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:svadilfari, "~> 0.1"}
]
end
# Also make sure it starts before :logger because logger uses it now
def application do
[
...
extra_applications: [..., :svadilfari, :logger, ...]
...
]
```
Configure some parameters:
```elixir
config :logger, :backends, [:console, Svadilfari]
# This setting is needed because Loki will complain if timestamps are too much off,
# and Logger sends timestamps without time zone information.
config :logger, utc_log: true
config :logger, :svadilfari,
metadata: [:user_id, :bogons],
max_buffer: 10,
client: [
url: "http://localhost:3100",
opts: [
org_id: "tenant1"
]
],
labels: [
{"service", "svadilfari"},
{"env", "dev"}
]
```
and start sending logs to Loki!
## Documentation
For detailed documentation, configuration options, and examples, see [hex docs](https://hexdocs.pm/svadilfari).