MetaLogger
Wrapper for Elixir.Logger that keeps logger metadata from caller processes.
Installation
MetaLogger requires Elixir 1.10 or greater. For previous versions use MetaLogger 0.1.0
.
The package is available in Hex, and can be installed
by adding meta_logger
to your list of dependencies in mix.exs
:
def deps do
[
{:meta_logger, "~> 1.2.0"}
]
end
Documentation is generated with ExDoc and published on HexDocs. The docs can be found at https://hexdocs.pm/meta_logger.
Usage
Just replace Logger
with MetaLogger
, there's no need to require it before using:
MetaLogger.[debug|error|info|log|warn](...)
Tesla Middleware
Logs requests and responses.
Installation
Optionally MetaLogger requires another two dependencies, if you want to use the Tesla
middleware, add those dependencies to your mix.exs
:
def deps do
[
{:tesla, "~> 1.4"},
{:miss, "~> 0.1"},
]
end
Example usage
defmodule MyClient do
use Tesla
plug #{inspect(__MODULE__)},
filter_headers: ["authorization"],
filter_query_params: [:api_key],
log_level: :debug,
log_tag: MyApp
end
Options
:filter_headers
- The headers that should not be logged, the values will be replaced with[FILTERED]
, defaults to:[]
.:filter_query_params
- The query params that should not be logged, the values will be replaced with[FILTERED]
, defaults to:[]
.:log_level
- The log level to be used, defaults to::info
. Responses with HTTP status 400 and above will be logged with:error
, and redirect with:warn
.:log_tag
- The log tag to be prefixed in the logs, default to:#{inspect(__MODULE__)}
.
Release
After merge a new feature/bug you can bump and publish it with:
make release
make publish
License
meta_logger
source code is released under Apache 2 License. Check the LICENSE file for more information.