Current section

Files

Jump to
logster lib logster string_formatter.ex
Raw

lib/logster/string_formatter.ex

defmodule Logster.StringFormatter do
def format(params) do
params
|> Enum.map(&format_field/1)
|> Enum.intersperse(?\s)
end
defp format_field({key, value}) do
[to_string(key), "=", format_value(value)]
end
defp format_value(value) when is_binary(value) do
value
end
defp format_value(value) when is_float(value) do
Float.to_string(value, decimals: 3)
end
defp format_value(value) when is_atom(value) or is_integer(value) do
to_string(value)
end
defp format_value(value) when is_map(value) do
Poison.encode! value
end
end