Packages
timber
3.1.1
3.1.2
3.1.1
3.1.0
3.0.0
3.0.0-alpha.3
3.0.0-alpha.2
3.0.0-alpha.1
2.8.4
2.8.3
2.8.2
2.8.1
2.8.0
2.7.0
2.6.1
2.6.0
2.5.6
2.5.5
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
2.4.5
2.4.4
2.4.3
2.4.2
2.4.1
2.4.0
2.3.4
2.3.3
2.3.1
2.3.0
2.2.1
2.2.0
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.2
2.0.1
2.0.0
2.0.0-rc7
2.0.0-rc6
2.0.0-rc5
2.0.0-rc4
2.0.0-rc3
2.0.0-rc2
2.0.0-rc1
1.1.18
1.1.17
1.1.16
1.1.15
1.1.14
1.1.13
1.1.12
1.1.11
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
🌲 Great Elixir Logging Made Easy. Official Timber.io Integration.
Current section
Files
Jump to
Current section
Files
lib/timber/contexts/http_context.ex
defmodule Timber.Contexts.HTTPContext do
@moduledoc ~S"""
**DEPRECATED**
This module is deprecated in favor of using `map`s. The next evolution of Timber (2.0)
no long requires a strict schema and therefore simplifies how users set context:
Timber.add_context(http: %{method: "post", path: "/checkout"})
In addition, you can use Timber integrations to automatically capture context in `Plug`
and `Phoenix`:
* [`:timber_phoenix`](https://github.com/timberio/timber-elixir-phoenix)
* [`:timber_plug`](https://github.com/timberio/timber-elixir-plug)
Checkout the `README` for a list of all integrations.
"""
@type t :: %__MODULE__{
method: String.t(),
path: String.t(),
request_id: String.t() | nil,
remote_addr: String.t() | nil
}
@type m :: %{
:method => String.t(),
:path => String.t(),
optional(:request_id) => String.t(),
optional(:remote_addr) => String.t()
}
defstruct [:method, :path, :request_id, :remote_addr]
defimpl Timber.Contextable do
def to_context(context) do
context = Map.from_struct(context)
%{http: context}
end
end
end