Packages

Metrics system (folsom wrapper) + logger backend

Current section

Files

Jump to
methex lib logger.ex
Raw

lib/logger.ex

defmodule Methex.Logger do
@methex_prefix "logger_"
@methex_keys Enum.map(["debug","info","warn","error"], &(@methex_prefix<>&1))
use GenEvent
def init({__MODULE__, _}), do: {:ok, nil}
def handle_call({:configure, _}, _), do: {:ok, :ok, nil}
def handle_event({__, gl, _}, _) when node(gl) != node(), do: {:ok, nil}
def handle_event({level, _, _}, _) do
Methex.put(1,(@methex_prefix<>Atom.to_string(level)))
{:ok, nil}
end
def get_freq, do: Enum.reduce(@methex_keys, %{}, &(Map.put(&2, &1, Methex.get_freq(&1))))
end