diff options
author | Waldemar Rachwał <waldemar.rachwal@gmail.com> | 2017-11-22 21:49:16 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2017-11-22 18:49:16 -0200 |
commit | 8d2e8ae22f2978c88704f294dd6c119a43ac3904 (patch) | |
tree | 6b834b25444034f0341a13a84e2810e6f0f29887 | |
parent | eee39ccdf9ca17bf590c46aa7c5f86d4673d2440 (diff) | |
download | elixir-8d2e8ae22f2978c88704f294dd6c119a43ac3904.tar.gz |
Preserve group leader in Logger.ErrorHandler notification to Logger (#7058)
-rw-r--r-- | lib/logger/lib/logger/error_handler.ex | 40 |
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 |