github getsentry/sentry-elixir 12.0.0

7 hours ago

Logs & Telemetry Processor

Support for Structured Logs is here! 🎉 To enable:

config :sentry,
  # your config...
  enable_logs: true # <- add this!

Log events are sent to Sentry using the new TelemetryProcessor backend. You can enable it for other types of events via configuration:

config :sentry,
  # your config...
  enable_logs: true,
  telemetry_processor_categories: [:log, :error, :check_in, :transaction] # <- add this

This will become the default backend eventually, please try it out and report any issues!

You can learn more about the Telemetry Processor in our official documentation.

Related Pull Requests

Other new features

  • Support for Distributed Tracing (957)
  • Support for LiveView spans captured under single trace root (#977)
  • Add should_report_error_callback option to Oban.ErrorReporter for flexible error reporting logic (#832)
  • Handle HTTP 413 responses for oversized envelopes (#982)

Bug Fixes

  • Wrong app_name used by Igniter in prod.exs (#972)

    This requires configuring a custom propagator:

    # Configure OpenTelemetry to use Sentry propagator for distributed tracing
    config :opentelemetry,
      text_map_propagators: [
        :trace_context,
        :baggage,
        Sentry.OpenTelemetry.Propagator
      ]

Various improvements

  • Switch default HTTP client from Hackney to Finch (#897)

  • :source_code_exclude_patterns support for OTP-28.0 (#965)

    For people on OTP 28.1

    All you need is to use ~r/foo/E instead of ~r/foo/ in your config files. For example:

    config :sentry,
      enable_source_code_context: true,
      root_source_code_paths: [File.cwd!()],
      source_code_exclude_patterns: [~r/_build/E, ~r/deps/E, ~r/priv/E, ~r/test/E]
    For people on OTP 28.0

    You can convert your regexps for source_code_exclude_patterns config to strings:

    config :sentry,
      enable_source_code_context: true,
      root_source_code_paths: [File.cwd!()],
      source_code_exclude_patterns: ["/_build/", "/deps/", "/priv/", "/test/"]

Don't miss a new sentry-elixir release

NewReleases is sending notifications on new releases.