Current section

Files

Jump to
logfmt lib logfmt.ex
Raw

lib/logfmt.ex

defmodule Logfmt do
@doc ~S"""
Decodes the given line into a keyword list
## Examples
iex> Logfmt.decode "foo=bar baz=qux"
[foo: "bar", baz: "qux"]
iex> Logfmt.decode ~s(foo="bar baz")
[foo: "bar baz"]
iex> Logfmt.decode "foo=true"
[foo: true]
iex> Logfmt.decode "foo=1"
[foo: 1]
"""
@spec decode(String.t) :: Keyword.t
def decode(string) do
Logfmt.Decoder.decode(string)
end
@doc ~S"""
Encodes the given keyword list into a Logfmt-style line
## Examples
iex> Logfmt.encode [foo: "bar"]
"foo=bar"
iex> Logfmt.encode [foo: "bar baz"]
"foo=\"bar baz\""
"""
@spec encode(Keyword.t) :: String.t
def encode(list) do
Logfmt.Encoder.encode(list)
end
end