Skip to content

Commit

Permalink
convert formatter_opts to a map
Browse files Browse the repository at this point in the history
  • Loading branch information
btkostner committed Jun 21, 2022
1 parent a07bf0b commit fe26628
Show file tree
Hide file tree
Showing 9 changed files with 18 additions and 18 deletions.
4 changes: 2 additions & 2 deletions lib/logger_json.ex
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ defmodule LoggerJSON do
json_encoder: nil,
on_init: nil,
formatter: nil,
formatter_state: []
formatter_state: %{}

@doc """
Configures Logger log level at runtime by using value from environment variable.
Expand Down Expand Up @@ -204,7 +204,7 @@ defmodule LoggerJSON do
|> Keyword.get(:metadata, [])
|> configure_metadata()

formatter_opts = Keyword.get(config, :formatter_opts, [])
formatter_opts = Keyword.get(config, :formatter_opts, %{})
formatter_state = apply(formatter, :init, [formatter_opts])

%{
Expand Down
2 changes: 1 addition & 1 deletion lib/logger_json/formatter.ex
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@ defmodule LoggerJSON.Formatter do
ts :: Logger.Formatter.time(),
md :: [atom] | :all,
state :: map,
formatter_state :: Keyword.t()
formatter_state :: map
) :: map | iodata() | %Jason.Fragment{}
end
12 changes: 6 additions & 6 deletions lib/logger_json/formatters/datadog_logger.ex
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,17 @@ defmodule LoggerJSON.Formatters.DatadogLogger do

@behaviour LoggerJSON.Formatter

@default_opts [hostname: :system]
@default_opts %{hostname: :system}
@processed_metadata_keys ~w[pid file line function module application span_id trace_id]a

@impl true
def init(formatter_opts \\ []) do
opts = Keyword.merge(@default_opts, formatter_opts)
def init(formatter_opts \\ %{}) do
opts = Map.merge(@default_opts, formatter_opts)

unless is_binary(opts[:hostname]) or opts[:hostname] in [:system, :unset] do
unless is_binary(opts.hostname) or opts.hostname in [:system, :unset] do
raise ArgumentError,
"invalid :hostname option for :formatter_opts logger_json backend. " <>
"Expected :system, :unset, or string, " <> "got: #{inspect(opts[:hostname])}"
"Expected :system, :unset, or string, " <> "got: #{inspect(opts.hostname)}"
end

opts
Expand All @@ -56,7 +56,7 @@ defmodule LoggerJSON.Formatters.DatadogLogger do
line: Keyword.get(md, :line)
),
message: IO.chardata_to_string(msg),
syslog: syslog(level, ts, formatter_state[:hostname])
syslog: syslog(level, ts, formatter_state.hostname)
},
format_metadata(md, md_keys)
)
Expand Down
2 changes: 1 addition & 1 deletion test/unit/logger_json/ecto_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ defmodule LoggerJSON.EctoTest do
json_encoder: Jason,
on_init: :disabled,
formatter: LoggerJSON.Formatters.GoogleCloudLogger,
formatter_state: []
formatter_state: %{}
)

diff = :erlang.convert_time_unit(1, :microsecond, :native)
Expand Down
2 changes: 1 addition & 1 deletion test/unit/logger_json/plug_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ defmodule LoggerJSON.PlugTest do
json_encoder: Jason,
on_init: :disabled,
formatter: LoggerJSON.Formatters.GoogleCloudLogger,
formatter_state: []
formatter_state: %{}
)
end

Expand Down
2 changes: 1 addition & 1 deletion test/unit/logger_json_basic_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ defmodule LoggerJSONBasicTest do
json_encoder: Jason,
on_init: :disabled,
formatter: BasicLogger,
formatter_state: []
formatter_state: %{}
)
end

Expand Down
8 changes: 4 additions & 4 deletions test/unit/logger_json_datadog_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ defmodule LoggerJSONDatadogTest do
json_encoder: Jason,
on_init: :disabled,
formatter: DatadogLogger,
formatter_state: []
formatter_state: %{}
)

:ok = Logger.reset_metadata([])
Expand Down Expand Up @@ -282,7 +282,7 @@ defmodule LoggerJSONDatadogTest do
end

test "logs hostname when set to :system" do
Logger.configure_backend(LoggerJSON, formatter_opts: [hostname: :system])
Logger.configure_backend(LoggerJSON, formatter_opts: %{hostname: :system})
{:ok, hostname} = :inet.gethostname()

log =
Expand All @@ -294,7 +294,7 @@ defmodule LoggerJSONDatadogTest do
end

test "does not log hostname when set to :unset" do
Logger.configure_backend(LoggerJSON, formatter_opts: [hostname: :unset])
Logger.configure_backend(LoggerJSON, formatter_opts: %{hostname: :unset})

log =
fn -> Logger.debug("hello") end
Expand All @@ -305,7 +305,7 @@ defmodule LoggerJSONDatadogTest do
end

test "logs hostname when set to string" do
Logger.configure_backend(LoggerJSON, formatter_opts: [hostname: "testing"])
Logger.configure_backend(LoggerJSON, formatter_opts: %{hostname: "testing"})

log =
fn -> Logger.debug("hello") end
Expand Down
2 changes: 1 addition & 1 deletion test/unit/logger_json_google_error_reporter_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ defmodule LoggerJSONGoogleErrorReporterTest do
json_encoder: Jason,
on_init: :disabled,
formatter: GoogleCloudLogger,
formatter_state: []
formatter_state: %{}
)

:ok = Logger.reset_metadata([])
Expand Down
2 changes: 1 addition & 1 deletion test/unit/logger_json_google_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ defmodule LoggerJSONGoogleTest do
json_encoder: Jason,
on_init: :disabled,
formatter: GoogleCloudLogger,
formatter_state: []
formatter_state: %{}
)

:ok = Logger.reset_metadata([])
Expand Down

0 comments on commit fe26628

Please sign in to comment.