summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Rachwał <waldemar.rachwal@gmail.com>2017-11-22 21:49:16 +0100
committerJosé Valim <jose.valim@gmail.com>2017-11-22 18:49:16 -0200
commit8d2e8ae22f2978c88704f294dd6c119a43ac3904 (patch)
tree6b834b25444034f0341a13a84e2810e6f0f29887
parenteee39ccdf9ca17bf590c46aa7c5f86d4673d2440 (diff)
downloadelixir-8d2e8ae22f2978c88704f294dd6c119a43ac3904.tar.gz
Preserve group leader in Logger.ErrorHandler notification to Logger (#7058)
-rw-r--r--lib/logger/lib/logger/error_handler.ex40
1 files changed, 20 insertions, 20 deletions
diff --git a/lib/logger/lib/logger/error_handler.ex b/lib/logger/lib/logger/error_handler.ex
index d3472aab8..ff13705b7 100644
--- a/lib/logger/lib/logger/error_handler.ex
+++ b/lib/logger/lib/logger/error_handler.ex
@@ -54,36 +54,36 @@ defmodule Logger.ErrorHandler do
## Helpers
- defp log_event({:error, _gl, {pid, format, data}}, %{otp: true} = state),
- do: log_event(:error, :format, pid, {format, data}, state)
+ defp log_event({:error, gl, {pid, format, data}}, %{otp: true} = state),
+ do: log_event(:error, :format, gl, pid, {format, data}, state)
- defp log_event({:error_report, _gl, {pid, :std_error, format}}, %{otp: true} = state),
- do: log_event(:error, :report, pid, {:std_error, format}, state)
+ defp log_event({:error_report, gl, {pid, :std_error, format}}, %{otp: true} = state),
+ do: log_event(:error, :report, gl, pid, {:std_error, format}, state)
- defp log_event({:error_report, _gl, {pid, :supervisor_report, data}}, %{sasl: true} = state),
- do: log_event(:error, :report, pid, {:supervisor_report, data}, state)
+ defp log_event({:error_report, gl, {pid, :supervisor_report, data}}, %{sasl: true} = state),
+ do: log_event(:error, :report, gl, pid, {:supervisor_report, data}, state)
- defp log_event({:error_report, _gl, {pid, :crash_report, data}}, %{sasl: true} = state),
- do: log_event(:error, :report, pid, {:crash_report, data}, state)
+ defp log_event({:error_report, gl, {pid, :crash_report, data}}, %{sasl: true} = state),
+ do: log_event(:error, :report, gl, pid, {:crash_report, data}, state)
- defp log_event({:warning_msg, _gl, {pid, format, data}}, %{otp: true} = state),
- do: log_event(:warn, :format, pid, {format, data}, state)
+ defp log_event({:warning_msg, gl, {pid, format, data}}, %{otp: true} = state),
+ do: log_event(:warn, :format, gl, pid, {format, data}, state)
- defp log_event({:warning_report, _gl, {pid, :std_warning, format}}, %{otp: true} = state),
- do: log_event(:warn, :report, pid, {:std_warning, format}, state)
+ defp log_event({:warning_report, gl, {pid, :std_warning, format}}, %{otp: true} = state),
+ do: log_event(:warn, :report, gl, pid, {:std_warning, format}, state)
- defp log_event({:info_msg, _gl, {pid, format, data}}, %{otp: true} = state),
- do: log_event(:info, :format, pid, {format, data}, state)
+ defp log_event({:info_msg, gl, {pid, format, data}}, %{otp: true} = state),
+ do: log_event(:info, :format, gl, pid, {format, data}, state)
- defp log_event({:info_report, _gl, {pid, :std_info, format}}, %{otp: true} = state),
- do: log_event(:info, :report, pid, {:std_info, format}, state)
+ defp log_event({:info_report, gl, {pid, :std_info, format}}, %{otp: true} = state),
+ do: log_event(:info, :report, gl, pid, {:std_info, format}, state)
- defp log_event({:info_report, _gl, {pid, :progress, data}}, %{sasl: true} = state),
- do: log_event(:info, :report, pid, {:progress, data}, state)
+ defp log_event({:info_report, gl, {pid, :progress, data}}, %{sasl: true} = state),
+ do: log_event(:info, :report, gl, pid, {:progress, data}, state)
defp log_event(_, _state), do: :ok
- defp log_event(level, kind, pid, {type, _} = data, state) do
+ defp log_event(level, kind, gl, pid, {type, _} = data, state) do
%{level: min_level, truncate: truncate, utc_log: utc_log?, translators: translators} =
Logger.Config.__data__()
@@ -94,7 +94,7 @@ defmodule Logger.ErrorHandler do
# Mode is always async to avoid clogging the error_logger
meta = [pid: ensure_pid(pid), error_logger: ensure_type(type)]
event = {Logger, message, Logger.Utils.timestamp(utc_log?), meta}
- :gen_event.notify(state.logger, {level, Process.group_leader(), event})
+ :gen_event.notify(state.logger, {level, gl, event})
end
:ok