/ex-wrapplog

Primary LanguageElixir

ex-wrapplog

A simple logger for Elixir that writes log information in JSON format on standard output.

Usage:

Configure your mix.exs and add the dependency:

defp deps do
  [{:ex_wrapplog, github: "wrapp/ex-wrapplog"}]
end

def application do
  [applications: [:ex_wrapplog]]
end

Configure your config.exs to set the logging level (or to turn off logging).

config :ex_wrapplog, :level, :info

# Set the name of the service (It will be logged)
config :ex_wrapplog, service_name: "myservice"

To turn off logging set the configuration to :off.

config :ex_wrapplog, :level, :off

In your elixir app.

alias ExWrapplog, as: Log
Log.log(:debug | :info | :warn | :error, "This is a log message")

log additional parameters

Log.log(:error, "This is an error message", %{reason: "Any reason"})

Outputs:
{"timestamp":"2017-03-28T13:46:06.989172Z","service":"myservice","reason":"Any reason", "msg":"This is an error message","level":"error"}
:logged

Some shortcuts:

Log.debug("This is a debug message")
Log.info("This is an information")
Log.warn("This is a warning")
Log.error("This is an error message")