Skip to content

Commit 2821dd8

Browse files
Use cast params in telemetry events (#455)
1 parent b6faa88 commit 2821dd8

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

integration_test/sql/logging.exs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,19 @@ defmodule Ecto.Integration.LoggingTest do
7070
_ = TestRepo.all(Post, telemetry_event: nil)
7171
refute_received :logged
7272
end
73+
74+
test "cast params" do
75+
uuid = Ecto.UUID.generate()
76+
77+
log = fn _event_name, _measurements, metadata ->
78+
assert [uuid] == metadata.params
79+
send(self(), :logged)
80+
end
81+
82+
Process.put(:telemetry, log)
83+
TestRepo.all(from l in Logging, where: l.uuid == ^uuid )
84+
assert_received :logged
85+
end
7386
end
7487

7588
describe "logs" do

lib/ecto/adapters/sql.ex

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1047,6 +1047,7 @@ defmodule Ecto.Adapters.SQL do
10471047
query = String.Chars.to_string(query)
10481048
result = with {:ok, _query, res} <- result, do: {:ok, res}
10491049
stacktrace = Keyword.get(opts, :stacktrace)
1050+
log_params = opts[:cast_params] || params
10501051

10511052
acc =
10521053
if idle_time, do: [idle_time: idle_time], else: []
@@ -1062,7 +1063,7 @@ defmodule Ecto.Adapters.SQL do
10621063
type: :ecto_sql_query,
10631064
repo: repo,
10641065
result: result,
1065-
params: params,
1066+
params: log_params,
10661067
query: query,
10671068
source: source,
10681069
stacktrace: stacktrace,
@@ -1083,14 +1084,14 @@ defmodule Ecto.Adapters.SQL do
10831084
{true, level} ->
10841085
Logger.log(
10851086
level,
1086-
fn -> log_iodata(measurements, repo, source, query, opts[:cast_params] || params, result, stacktrace) end,
1087+
fn -> log_iodata(measurements, repo, source, query, log_params, result, stacktrace) end,
10871088
ansi_color: sql_color(query)
10881089
)
10891090

10901091
{opts_level, args_level} ->
10911092
Logger.log(
10921093
opts_level || args_level,
1093-
fn -> log_iodata(measurements, repo, source, query, opts[:cast_params] || params, result, stacktrace) end,
1094+
fn -> log_iodata(measurements, repo, source, query, log_params, result, stacktrace) end,
10941095
ansi_color: sql_color(query)
10951096
)
10961097
end

0 commit comments

Comments
 (0)