diff --git a/config/config.exs b/config/config.exs index 324ae9f7..3efdc521 100644 --- a/config/config.exs +++ b/config/config.exs @@ -13,7 +13,19 @@ if config_env() == :test do test_mode: true, traces_sample_rate: 1.0 - config :logger, backends: [] + if System.version() > "1.16.0" do + config :logger, :default_handler, false + + config :sentry, :logger, [ + {:handler, :file_log, :logger_std_h, + %{ + config: %{file: ~c"log/tests.log"}, + formatter: Logger.Formatter.new() + }} + ] + else + config :logger, backends: [] + end config :opentelemetry, span_processor: {Sentry.OpenTelemetry.SpanProcessor, []} diff --git a/mix.exs b/mix.exs index 22fe76c6..25685942 100644 --- a/mix.exs +++ b/mix.exs @@ -14,6 +14,7 @@ defmodule Sentry.Mixfile do deps: deps(), elixirc_paths: elixirc_paths(Mix.env()), test_paths: test_paths(System.get_env("SENTRY_INTEGRATION")), + test_ignore_filters: [~r|/fixtures/|], dialyzer: [ flags: [:unmatched_returns, :error_handling, :extra_return], plt_file: {:no_warn, "plts/dialyzer.plt"}, @@ -22,10 +23,6 @@ defmodule Sentry.Mixfile do plt_add_apps: [:mix, :ex_unit] ], test_coverage: [tool: ExCoveralls], - preferred_cli_env: [ - "coveralls.html": :test, - "test.integrations": :test - ], name: "Sentry", docs: [ extra_section: "Guides", @@ -84,6 +81,10 @@ defmodule Sentry.Mixfile do ] end + def cli do + [preferred_envs: ["coveralls.html": :test, "test.integrations": :test]] + end + defp extra_applications(:test), do: [:logger, :opentelemetry] defp extra_applications(_other), do: [:logger] diff --git a/test/sentry/client_test.exs b/test/sentry/client_test.exs index 74b38e47..a19c2e4b 100644 --- a/test/sentry/client_test.exs +++ b/test/sentry/client_test.exs @@ -228,11 +228,11 @@ defmodule Sentry.ClientTest do end) put_test_config( - before_send: fn event -> + before_send: fn %Event{} = event -> metadata = Map.new(Logger.metadata()) {user_id, rest_metadata} = Map.pop(metadata, :user_id) - %Event{ + %{ event | extra: Map.merge(event.extra, rest_metadata), user: Map.put(event.user, :id, user_id)