Current section

Files

Jump to
elixir_a2s lib a2s state_machine_translator.ex
Raw

lib/a2s/state_machine_translator.ex

defmodule A2S.StateMachineTranslator do
@moduledoc false
# https://github.com/Kraigie/nostrum/blob/master/lib/nostrum/state_machine_translator.ex
def translate(min_level, :error, :report, {:logger, %{label: label} = report}) do
case label do
{:gen_statem, :terminate} ->
report_gen_statem_terminate(min_level, report)
_ ->
:none
end
end
def translate(_min_level, _level, _kind, _data) do
:none
end
defp report_gen_statem_terminate(_min_level, report) do
# raw erlang format. you know it, you love it.
# thanks to OTP for exposing this in the first place.
log = :gen_statem.format_log(report, %{})
{:ok, :erlang.list_to_binary(log), []}
end
end