Skip to content

Commit 7d09146

Browse files
committed
Improve logging
1 parent e70b314 commit 7d09146

2 files changed

Lines changed: 24 additions & 24 deletions

File tree

  • lib/remote_persistent_term/fetcher
  • test/remote_persistent_term/fetcher

lib/remote_persistent_term/fetcher/s3.ex

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ defmodule RemotePersistentTerm.Fetcher.S3 do
8080
{:error, "could not find s3://#{state.bucket}/#{state.key}"}
8181

8282
{:error, reason} ->
83-
Logger.error("#{__MODULE__} - unknown error: #{inspect(reason)}")
83+
Logger.error("#{__MODULE__} - s3://#{state.bucket}/#{state.key} - unknown error: #{inspect(reason)}")
8484
{:error, "Unknown error"}
8585
end
8686
end
@@ -134,29 +134,29 @@ defmodule RemotePersistentTerm.Fetcher.S3 do
134134
defp aws_client_request(op, %{region: region, failover_regions: nil}),
135135
do: client().request(op, region: region)
136136

137-
defp aws_client_request(op, %{region: region, failover_regions: failover_regions})
137+
defp aws_client_request(op, %{region: region, bucket: bucket, key: key, failover_regions: failover_regions})
138138
when is_list(failover_regions) do
139139
with {:error, reason} <- client().request(op, region: region) do
140140
Logger.error(
141-
"Failed to fetch from primary region #{region}: #{inspect(reason)}, will try failover regions"
141+
"s3://#{bucket}/#{key} - Failed to fetch from primary region #{region}: #{inspect(reason)}, will try failover regions"
142142
)
143143

144-
try_failover_regions(op, failover_regions)
144+
try_failover_regions(op, failover_regions, bucket, key)
145145
end
146146
end
147147

148-
defp try_failover_regions(_op, []), do: {:error, "All regions failed"}
148+
defp try_failover_regions(_op, [], _bucket, _key), do: {:error, "All regions failed"}
149149

150-
defp try_failover_regions(op, [region | remaining_regions]) do
151-
Logger.info("Trying failover region: #{region}")
150+
defp try_failover_regions(op, [region | remaining_regions], bucket, key) do
151+
Logger.info("s3://#{bucket}/#{key} - Trying failover region: #{region}")
152152

153153
case client().request(op, region: region) do
154154
{:ok, result} ->
155155
{:ok, result}
156156

157157
{:error, reason} ->
158-
Logger.error("Failed to fetch from failover region #{region}: #{inspect(reason)}")
159-
try_failover_regions(op, remaining_regions)
158+
Logger.error("s3://#{bucket}/#{key} - Failed to fetch from failover region #{region}: #{inspect(reason)}")
159+
try_failover_regions(op, remaining_regions, bucket, key)
160160
end
161161
end
162162

test/remote_persistent_term/fetcher/s3_test.exs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ defmodule RemotePersistentTerm.Fetcher.S3Test do
1717
end)
1818

1919
assert capture_log(fn ->
20-
assert {:error, "Unknown error"} = S3.current_version(%S3{bucket: "bucket"})
20+
assert {:error, "Unknown error"} = S3.current_version(%S3{bucket: "bucket", key: "key"})
2121
end) =~
22-
"Elixir.RemotePersistentTerm.Fetcher.S3 - unknown error: :unknown_error"
22+
"Elixir.RemotePersistentTerm.Fetcher.S3 - s3://bucket/key - unknown error: :unknown_error"
2323
end
2424

2525
describe "init/1" do
@@ -67,9 +67,9 @@ defmodule RemotePersistentTerm.Fetcher.S3Test do
6767
assert {:ok, "current-etag"} = result
6868
end)
6969

70-
assert log =~ "Failed to fetch from primary region #{@region}"
70+
assert log =~ "s3://#{@bucket}/#{@key} - Failed to fetch from primary region #{@region}"
7171
assert log =~ "will try failover regions"
72-
assert log =~ "Trying failover region: failover-region-1"
72+
assert log =~ "s3://#{@bucket}/#{@key} - Trying failover region: failover-region-1"
7373
end
7474

7575
test "download/1 tries first failover region when primary region fails" do
@@ -97,9 +97,9 @@ defmodule RemotePersistentTerm.Fetcher.S3Test do
9797
assert {:ok, "content from failover region"} = result
9898
end)
9999

100-
assert log =~ "Failed to fetch from primary region #{@region}"
100+
assert log =~ "s3://#{@bucket}/#{@key} - Failed to fetch from primary region #{@region}"
101101
assert log =~ "will try failover regions"
102-
assert log =~ "Trying failover region: failover-region-1"
102+
assert log =~ "s3://#{@bucket}/#{@key} - Trying failover region: failover-region-1"
103103
end
104104

105105
test "returns error when primary and all failover regions fail" do
@@ -131,12 +131,12 @@ defmodule RemotePersistentTerm.Fetcher.S3Test do
131131
assert message =~ "All regions failed"
132132
end)
133133

134-
assert log =~ "Failed to fetch from primary region #{@region}"
134+
assert log =~ "s3://#{@bucket}/#{@key} - Failed to fetch from primary region #{@region}"
135135
assert log =~ "will try failover regions"
136-
assert log =~ "Trying failover region: failover-region-1"
137-
assert log =~ "Failed to fetch from failover region failover-region-1"
138-
assert log =~ "Trying failover region: failover-region-2"
139-
assert log =~ "Failed to fetch from failover region failover-region-2"
136+
assert log =~ "s3://#{@bucket}/#{@key} - Trying failover region: failover-region-1"
137+
assert log =~ "s3://#{@bucket}/#{@key} - Failed to fetch from failover region failover-region-1"
138+
assert log =~ "s3://#{@bucket}/#{@key} - Trying failover region: failover-region-2"
139+
assert log =~ "s3://#{@bucket}/#{@key} - Failed to fetch from failover region failover-region-2"
140140
end
141141

142142
test "tries second failover region when first failover region fails" do
@@ -167,10 +167,10 @@ defmodule RemotePersistentTerm.Fetcher.S3Test do
167167
assert {:ok, "content from second failover region"} = result
168168
end)
169169

170-
assert log =~ "Failed to fetch from primary region #{@region}"
171-
assert log =~ "Trying failover region: failover-region-1"
172-
assert log =~ "Failed to fetch from failover region failover-region-1"
173-
assert log =~ "Trying failover region: failover-region-2"
170+
assert log =~ "s3://#{@bucket}/#{@key} - Failed to fetch from primary region #{@region}"
171+
assert log =~ "s3://#{@bucket}/#{@key} - Trying failover region: failover-region-1"
172+
assert log =~ "s3://#{@bucket}/#{@key} - Failed to fetch from failover region failover-region-1"
173+
assert log =~ "s3://#{@bucket}/#{@key} - Trying failover region: failover-region-2"
174174
end
175175
end
176176
end

0 commit comments

Comments
 (0)