A drop-in replacement for :console
's formatter. ExJsonLogger takes standard Logger
calls and JSON encodes them.
Ecto and Plug loggers are also included.
The package can be installed by adding :ex_json_logger
to your list of
dependencies in mix.exs
:
def deps do
[
{:ex_json_logger, "~> 1.4.0"}
]
end
config :logger, :console,
format: {ExJsonLogger, :format},
metadata: [
:action,
:controller,
:duration,
:format,
:method,
:path,
:request_id,
:status
]
For additional configuration and metadata option refer to moduledocs
Documentation is generated with ExDoc and available online at https://hexdocs.pm/ex_json_logger
- Logger - For more documentation reference
ExJsonLogger
- Plug - For more documentation reference
ExJsonLogger.Plug.Logger
- Ecto - For more documentation reference
ExJsonLogger.Ecto.Logger
Tests include:
- Linter via Credo
- Coverage via Excoveralls
- run tests:
script/test
- run tests with coverage:
script/test --coverage
A basic benchee benchmarking script is available for testing performance improvements:
mix run bench/format.exs
- If you modify code, add a corresponding test and documentation(if applicable).
- Create a Pull Request (please squash to one concise commit).
- Thanks!
Copyright (c) 2017 RentPath
This library licensed under the MIT license.