Skip to content

Commit fb1d902

Browse files
committed
make environment_name easier to work with
1 parent c66b7ae commit fb1d902

File tree

6 files changed

+9
-30
lines changed

6 files changed

+9
-30
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ config :sentry,
7171
| Key | Required | Default | Notes |
7272
| ------------- | -----------------|--------------|-------|
7373
| `dsn` | True | n/a | |
74-
| `environment_name` | False | `MIX_ENV` | |
74+
| `environment_name` | False | `:dev` | |
7575
| `included_environments` | False | `~w(prod test dev)a` | If you need non-standard mix env names you *need* to include it here |
7676
| `tags` | False | `%{}` | |
7777
| `release` | False | None | |

config/config.exs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
use Mix.Config
22

33
config :sentry,
4-
included_environments: [:prod]
4+
included_environments: [:test, :dev, :prod],
5+
environment_name: :dev,
6+
tags: %{}
57

68
import_config "#{Mix.env}.exs"

docs/config.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Required settings
2222

2323
.. describe:: environment_name
2424

25-
The name of the environment, this defaults to the ``MIX_ENV`` environment variable.
25+
The name of the environment, this defaults to the ``:dev`` environment variable.
2626

2727
.. describe:: dsn
2828

lib/sentry.ex

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ defmodule Sentry do
3434
@use_error_logger Application.get_env(:sentry, :use_error_logger, false)
3535

3636
def start(_type, _opts) do
37-
check_required_env!()
3837
children = []
3938
opts = [strategy: :one_for_one, name: Sentry.Supervisor]
4039

@@ -66,27 +65,13 @@ defmodule Sentry do
6665
end
6766

6867
def send_event(event = %Event{}) do
69-
included_environments = Application.get_env(:sentry, :included_environments, ~w(prod dev test)a)
68+
included_environments = Application.get_env(:sentry, :included_environments)
69+
environment_name = Application.get_env(:sentry, :environment_name)
7070

71-
if event.environment in included_environments do
71+
if environment_name in included_environments do
7272
@client.send_event(event)
7373
else
7474
{:ok, ""}
7575
end
7676
end
77-
78-
defp check_required_env! do
79-
case Application.fetch_env(:sentry, :environment_name) do
80-
{:ok, env} -> env
81-
:error ->
82-
case System.get_env("MIX_ENV") do
83-
nil ->
84-
raise RuntimeError.exception("environment_name not configured")
85-
system_env ->
86-
env = String.to_atom(system_env)
87-
Application.put_env(:sentry, :environment_name, env)
88-
env
89-
end
90-
end
91-
end
9277
end

test/logger_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
defmodule Sentry.LoggerTest do
2-
use ExUnit.Case, async: true
2+
use ExUnit.Case
33
import ExUnit.CaptureLog
44

55
test "exception makes call to Sentry API" do

test/sentry_test.exs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,3 @@
11
defmodule SentryTest do
22
use ExUnit.Case, async: true
3-
test "fails with RuntimeError without environment_name configured" do
4-
assert_raise RuntimeError, fn ->
5-
Application.delete_env(:sentry, :environment_name)
6-
Sentry.start(nil, nil)
7-
end
8-
9-
Application.put_env(:sentry, :environment_name, :test)
10-
end
113
end

0 commit comments

Comments
 (0)