Packages

Error logger backend for statsd

Retired package: Deprecated - not maintained

Current section

Files

Jump to
logger_statsd lib logger_statsd_logger.ex
Raw

lib/logger_statsd_logger.ex

defmodule LoggerStatsdLogger do
@moduledoc """
The genevent logger
"""
use GenEvent
@spec init(map) :: map
def init({__MODULE__, name}) do
{:ok, %{name: name, level: :error}}
end
@spec handle_call(any, map) :: map
def handle_call({:configure, [level: level]}, state) do
state = Map.put(state, :level, level)
{:ok, :ok, state}
end
@spec handle_event(any, map) :: map
def handle_event({level, _gl, {Logger, _, _, _}}, %{level: min_level} = state) do
if (is_nil(min_level) or Logger.compare_levels(level, min_level) != :lt) do
LoggerStatsd.Buffer.incr(level)
end
{:ok, state}
end
end